您的位置:首页 > 其它

函数在整型有序数组中查找想要的数字(折半查找)

2019-03-30 17:01 190 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/new_bee_01/article/details/88915211

在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回-1.(折半查找)

#include<stdio.h>

int Half(int a[], int n, int find)
{
int right = n - 1, left = 0;
int status = -1;
int mid;
while (left <= right)
{
mid = (right + left) / 2;
if (a[mid] == find)
{
status = mid;
break;
}
if (find < a[mid])
{
right = mid - 1;
}
else
{
left = mid + 1;
}
}
return status;
}

int main()
{
int a[] = { 1, 2, 4, 6, 7, 9, 14, 16, 17, 20 };
int find;
scanf("%d", &find);
printf("下标为: %d \n", Half(a, 10 , find));
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐