1 #include <IOSTREAM> 2 using namespace std; 3 4 //在数组v中查找x,返回x在v中的下标,找不到返回-1 5 int binsearch(int v[],int n,int x) 6 { 7 int low = 0 , high = n - 1; 8 int mid ;//= (low + high)/2; 9 while (low <= high) 10 { 11 mid = (low + high)/2; 12 13 if (x < v[mid]) 14 { 15 high = mid-1; 16 } 17 else if (x > v[mid]) 18 { 19 low = mid +1; 20 } 21 else 22 { 23 return mid; 24 } 25 } 26 return -1; 27 } 28 29 void main() 30 { 31 int v[] = {1,3,5,7,9,12,34}; 32 33 cout<<binsearch(v,7,34)<<endl; 34 }