数据结构折半查找算法 折半查找算法及代码?

折半查找算法及代码?#include<iostream>#使用命名空间std模板<class T>int BinarySearch(ta[],const T&x,int n,in

折半查找算法及代码?

#include<iostream>

#使用命名空间std

模板<class T>

int BinarySearch(ta[],const T&x,int n,int left,int right)

{

if(left>=right)

return-1

else

if(a[(left right)/2]==x)

return else if(x>=(left right)/2)

return二进制搜索(a,x,n,(left right)/2 1,right)

else if(x<(left right)/2)

返回二进制搜索(a,x,n,left,(left right)/2-1)

}

int main()

{

int a[MAXu SIZE

]int i,len,x,p

cin gt>len for(i=0i<leni))

cin>>a[i

]cin>>x

p=二进制搜索(a,x,len,0,len-1)

if(p==-1)

cout<<“cout<”cout<”cout<;“cout<”cout<!“<<endl

else

cout<<p 1<<endl

返回0

}