#include<stdio.h> #define M 10 int my_binsearch(int x, int v[], int n) // 带查找元素x,已排序数组v,数组元素个数 { int left, right, mid; left = 0, right = n - 1; while (left <= right) { mid = (left + right) / 2; if (x < v[mid]) { right = mid - 1; } else if (x > v[mid]) { left = mid + 1; } else { return mid; } } return -1; } int main() { int v[M]; int i,x,ret; char c; printf("请输入一组有序的数:"); for (i = 0; i < M; i++) { scanf_s("%d", &v[i]); } flag: printf("请输入要查找的数:"); scanf_s("%d", &x); ret = my_binsearch(x, v, M); //ret接收函数返回值 if (ret != -1) //根据返回值做判断 { printf("找到了!数%d在数组的第%d位\n", x, ret + 1); } else // 没有找到继续找 { printf("没有找到!"); printf("\n是否继续查找?(Y/N)"); scanf_s("%c", &c); getchar(c); printf("\n"); while (c = 'Y') //可直接进行goto语句,我这样写为了重新查找时更清晰 { goto flag; } } system("pause"); return 0; }
【C语言】 折半查找
原创
©著作权归作者所有:来自51CTO博客作者Vs吕小布的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:【C语言】 杀人凶手问题
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
折半查找(c语言)
折半查找描述格式样例题解及注释描述给定一个长度为n(n≤10000)的单调递增整数数列,和要
数据结构 c语言 数据 折半查找 数组 -
c语言:编写折半查找函数
c语言:编写折半查找函数
c语言:编写折半查找函数 -
C语言 二分查找/折半查找
二分查找C语言代码实现
中位数 数组 折半查找 -
C程序折半查找法
C程序折半查找法,利用下标中间值查找要找的数字
C程序折 半查 找法