二分查找
2021-05-05 本文已影响0人
cursorkey
二分查找很基础也很常用,但是写起来细节上容易出问题,留存
int binary_search(int a[], int aLen, int num) {
int left, right, middle;
left = 0;
right = aLen - 1;
while (left <= right) {
middle = (left + right) / 2;
if (a[middle] == num) {
return middle;
}
else {
if (a[middle] > num) {
right = middle - 1;
}
else {
left = middle + 1;
}
}
}
return -1;
}