练习八(半分法练习)
#include<stdio.h>
#include<stdlib.h>
int main(){
int arr[] = { 10, 13, 15, 14, 16, 19, 18, 20 };
int i = 0;
int left = 0;
int right = sizeof(arr) / sizeof(arr[0]) - 1;
int key = 18;
int mid = 0;
while(left <= right){
mid = (left + right) / 2;
if (key > mid){
left = mid + 1;
}
else if (key < mid){
right = mid - 1;
}
else
break;
}
if (left = right){
printf("找到了,下标为%d\n", mid);
}
else
printf("找不到");
system("pause");
return 0;
}

浙公网安备 33010602011771号