二分查找

 1 /*
 2   二分法查找
 3   查找有序数组datas中数字number在第几位
 4   若datas[j]=number,则返回j;如果不存在j使datas[j]=number,则返回-1;
 5 */
 6 int binarySearch(int datas[],int size,int number)
 7 {
 8     int i=0,j;
 9     int m=size-1;
10     while(i<=m)
11     {
12         j=(i+m)/2;
13         if(number == datas[j])
14             return j;
15         if(number < datas[j])
16             m=j-1;
17         else
18             i=j+1;
19     }
20     j=-1;
21     return j;
22 }

 

posted @ 2015-03-24 16:50  薛晓东  阅读(88)  评论(0编辑  收藏  举报