C++二分查找代码

 1 //C++二分查找代码
 2 #include<iostream>
 3 using namespace std;
 4 
 5 int search(int array[], int n, int v)
 6 {
 7     int left, right, middle;
 8     left = 0, right = n - 1;
 9 
10     while (left <= right) {
11         middle = (left + right) / 2;
12         if (array[middle] > v) right = middle - 1;
13         else if (array[middle] < v) left = middle + 1;
14         else return middle;
15     }
16     return -1;
17 }
18 
19 
20 int main()
21 {
22     int array[10] = {1, 2, 3, 6, 7, 7, 8, 9, 13, 19};
23     cout << search(array, 10, 19) << endl;
24     return 0;
25 }

http://www.cppblog.com/converse/archive/2009/10/05/97905.html

原文地址:https://www.cnblogs.com/hengli/p/3003620.html