#include<stdio.h> #include<stdlib.h> int Binary(int arr[],int size,int x) { int left = 0; int right = size - 1; int mid = left - (left - right) / 2; //防止溢出!!!int mid =( left - right )/2 好。 while (left <= right) { if (x > arr[mid]) { mid++; right--; } else if (x < arr[mid]) { mid--; left++; } else { return mid; } } return -1; } int main() { int arr[] = { 2, 5, 6, 7, 9, 14, 18, 20 }; int len = sizeof(arr) / sizeof(arr[0]); int num = 0; scanf("%d", &num); //输入要查找的数num int ret = Binary(arr, len,num); if (ret == -1) { printf("not exist!"); } else { printf("exist!下标为:\n"); printf("%d", ret); } system("pause"); return 0; }
C语言:编写折半查找函数,即二分法
原创
©著作权归作者所有:来自51CTO博客作者韩静静的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
折半查找法/二分法
在有序(设为升序)表中,取中间元素作为比
二分法 折半查找 数据 键盘输入 数组 -
折半查找和递归折半查找详解(二分法查找,递归二分法查找)
算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。(前提)折半查找和递归折半查找详解(二分法查找,递归二分法查找)
折半查找 递归折半查找 详解 二分法查找 递归二分法查找 -
Python语言二分法查找
张三用二分法成功找到了自己位置
python 中位数 二分法 重置