c语言-二分查找法
程序员文章站
2024-03-17 14:57:04
...
二分查找法(有序情况下)
int bin_search(int arr[], int len, int key) {
int mid = 0;
int left = 0;
int right = len - 1;
while (left <= right) {
mid = (left + right) / 2;
if (key > arr[mid]) {
left = mid + 1;
}
else if (key < arr[mid]) {
right = mid - 1;
}
else {
break;
}
}
if (key == arr[mid]) {
return mid;//找到则返回下标
}
else {
return -1;//找不到返回-1
}
}
int main() {
int a[8] = { 1,3,4,6,23,45,67,89 };
int len = sizeof(a) / sizeof(a[0]);
int ret;
ret = bin_search(a, len,22);
printf("%d\n", ret);
system("pause");
return 0;
}
上一篇: 蓝桥杯练习——十进制转换十六进制
下一篇: js 中移动元素的方法