#include <iostream>
using namespace std;
template<class T>
/************二分查找***********/
//默认待查找数据是以升序排列
int Search(T key[],int n,T des){
int left=0,right=n-1; //确定上下限
int mid;
while (left<=right)
{
mid=(left+right)/2;
if (des==key[mid])
{
return mid;
}else if (des>key[mid])
{
left=mid+1; //扩大下限下标,缩小范围
}else{
right=mid-1; //减小上限上标,缩小范围
}
}
}
void main()
{
int str[]={1,2,3,4,5,6};
cout<<Search(str,6,3)+1<<endl;
}
查找算法之二分查找
最新推荐文章于 2022-05-18 16:02:07 发布