二分查找

传说中的二分查找:

 1 int binarysearch(int *a, int k, int length)
 2 {
 3     int left = 0;
 4     int right = length-1;
 5     int mid;
 6     while(left<=right)
 7     {
 8         mid = left+(right-left)>>1;
 9         if(a[mid] == k)
10             return mid;
11         else if(a[mid]>k)
12             right = mid-1;
13         else
14             left = mid+1;
15     }
16 }

over!

posted @ 2012-10-08 17:17  iavailable  阅读(190)  评论(0编辑  收藏  举报