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 }