#include <stdio.h>
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int k;
printf("请输入要查找的数字:");
scanf_s("%d", &k);
int l = 0;//确定左边界
int r = sizeof(arr) / sizeof(arr[0]) - 1;//确定右边界
for (int m; l <= r;)
{
m = (l + r) / 2;//确定查找中点
if (arr[m] < k)
l = m + 1;
else if (arr[m] > k)
r = m - 1;
else
{
return m;//找到了,返回下标
break;
}
}
return -1;//没找到,返回-1
}
写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回 -1。(折半查找)
最新推荐文章于 2024-11-15 21:21:06 发布