#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(){
int A[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
int i,key;
int left = 0;
int right = sizeof(A) / sizeof(A[0]) - 1;
int n = sizeof(A) / sizeof(A[0]) ;
int mid = 0;
printf("请输入您所要查找的数字:\n");
scanf("%d", &key);
while (left <= right){
mid = (left + right) / 2;
if (key < A[mid]){
right = mid - 1;
}
if (key > A[mid]){
left = mid + 1;
}
else {
break;
}
}
if (left <= right){
printf("找到了,下标是%d\n", left);
}
else {
printf("-1\n");
}
system("pause");
return 0;
}
写代码可以在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回 - 1.(折半查找)
猜你喜欢
转载自blog.csdn.net/weixin_43508555/article/details/84147290
今日推荐
周排行