二分查找

 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 }
原文地址:https://www.cnblogs.com/yaoxc/p/3326089.html