#include<stdio.h>
int main() {
//在一个有序数组中查找某一个具体的数字n
//二分法查找
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int k = 7;//需要查找的数字为7
int left = 0;//左下标
int right = sizeof(arr) / sizeof(int)-1;//右下标
while(right>=left){
int average = (left+right)/ 2;//中值下标
if (arr[average] > k) {
right = average - 1;
}
else if (arr[average] < k) {
left = average + 1;
}
else {
printf("找到了,这个数下标为:%d", average); break;
}
}
if (right < left)
printf("找不到,数组中无此数!");
return 0;
}
二分法查找数组中的具体数字
于 2023-03-17 22:34:35 首次发布