/*
* bs.cpp
*
* Created on: 2015年4月14日
* Author: judyge
*/
#include <stdio.h>
#include <iostream>
using namespace std;
int bs(int a[],int min,int max,int key)
{
int mid;
while(min<=max) //递归子问题
{
mid=(max+min)/2; //获取中间值
if(key==a[mid]){return mid;} //查找的数与中间值比较,相等就返回找到了!
else if(key<mid){max=min-1;} //小于中间 到左边找
else{min=mid+1;} <span style="font-family: Arial, Helvetica, sans-serif;">//大于中间 到右边找</span>
}
return -1;
}
int main()
{
int max=12;
int min=0;
int a[13]={1,2,4,7,9,10,11,45,66,68,79,89,99};
int key=11;
cout<<bs(a,min,max,key);
return 0;
}
二分查找算法实例注释
最新推荐文章于 2024-08-17 20:04:47 发布