//二分查找算法
#include <stdio.h>
void binary_search(int li[],int var,int sz);
int main() {
int arr[]={1,2,3,4,5};
int length = sizeof (arr)/sizeof (int);
binary_search(arr,6,length);
return 0;
}
void binary_search(int *li,int var,int sz) {//li是数组、var是待插入的值
int left = 0;
int right = sz - 1;
int mid = 0;
while (left <= right) {
mid = (left + right) / 2;
if (var == li[mid]) {
printf("找到了,下标为%d", mid);
break;
}
else if (var > li[mid]) {
left = mid + 1;
}
else {
right = mid - 1;
}
}
if(left > right){
printf("没有找到您要的数字哦!\n");
}
}