#include <stdio.h>
#include <string.h>
#include <windows.h>
#pragma warning(disable:4996
int bin_search(int arr[], int left, int right, int key)
{
int mid = 0;
while (left <= right){
mid = (left + right) >> 1; //>> 一位,比除2效果好
if (arr[mid] > key){
right = mid - 1;
}
else if (arr[mid] < key){
left = mid + 1;
}
else{
printf("%d\n", mid);
break;
}
}
return -1;
}
int main(){
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int left = 0;
int right = sizeof(arr) / sizeof(arr[0]) - 1; //右下标
int key = 0;
scanf("%d", &key);
bin_search(arr, left, right, key);
system("pause");
}
``
写一个函数实现对数组的二分查找
最新推荐文章于 2021-11-06 19:36:45 发布