二分查找法是针对已经排好序的序列进行查找
每次折半查找
算法时间复杂度,对于长度为N的序列,每次执行N/2,假设k次结束,最后到第一个N/2^k=0,所以k=logN
时间复杂度logN
int binarysearch(const int array[], int x, int N) { int low, mid, high; low = 0, high = N - 1; while (low <= high) { mid = (low + high) / 2; if(array[mid] < x) low=mid+1; else if(array[mid] > x) high=mid-1; else return mid; } return -1; }