基于数组的折半查找
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 //折半查找的迭代实现 int BinarySearch(int *a, const int x, const int n) { int left=0; int right = n-1; while(left<=right) { int middle = (left+right)/2; if(x<a[middle]) right=middle-1; else if(x>a[middle]) left = middle+1; else return middle; } return -1; } 1 2 3 4 5 6