自我学习 - C++ 折半查找
折半查找,这个非常简单
#include <iostream>
using namespace std;
// 折半查找
int Binary_search(int a[], int len, int key) {
int low = 0, high = len - 1, mid;
while (low <= high) {
//设置中间值
mid = (low + high) / 2;
if (key == a[mid]) {//若中间值与key相等,则查找成功
return mid;
} else if (key > a[mid]) { //若key大于中间值,则去后半段找
low = mid + 1;
} else { //若key小于中间值,则去后半段找
high = mid - 1;
}
}
//查找失败返回-1
return -1;
}
int main(){
int a[6] = {0, 66, 77, 42, 78, 99};
int x = Binary_search(a, 6, 66);
cout << x << endl;
return 0;
}

浙公网安备 33010602011771号