二分查找<待更新>

基本的二分查找算法:针对的是已经排好序的数组。

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 //二分查找算法
 6 
 7 //返回-1表示没找到。
 8 int binarySearch(int a[],int n,int target)
 9 {
10     int low=0;
11     int high=n-1;
12 
13     while(low<high)
14     {
15         int middle=(low+high)/2;
16         if(a[middle]==target)
17             return middle;
18         else if(a[middle]>target)
19             high=middle-1;
20         else
21             low=middle+1;
22     }
23     return -1;
24 }
25 
26 int main()
27 {
28     int a[]={1,2,3,4,5,6};
29     int index=binarySearch(a,6,5);
30     cout<<index<<endl;
31     return 0;
32 }

 

posted @ 2016-01-20 20:43  尾巴草  阅读(125)  评论(0编辑  收藏  举报