您的位置:首页 > 编程语言 > C语言/C++

利用C语言实现折半查找

2015-10-21 23:41 302 查看
折半查找,顾名思义,就是一组有顺序的数,按照比较大小的方法找出某一个数,类似二分法

代码如下:
#include<stdio.h>
#include<stdlib.h>
void find(int arr1[], int key, int right)
{
int left = 0, mid;
while (left <= right)
{
mid = (left + right) / 2;
if (key == arr1[mid])
{
printf("\n找到了,您要找的数是%d,位置为%d\n", key, mid+1);
break;
}
else if (key > arr1[mid])
left = mid + 1;
else right = mid - 1;
}
if (left = right)
printf("\n您要找的数不存在,请重试!");
}
int main()
{
int arr[] = {1, 3 ,4 ,5 ,6, 7, 9 ,13, 15 ,36 };
int k,len;
len = sizeof(arr);
printf("请输入你要查找的数:");
scanf("%d", &k);
find(arr,k,len);
system("pause");
return 0;
}


本文出自 “分享中进步” 博客,请务必保留此出处http://xmwen1.blog.51cto.com/10730069/1705052
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: