大家好,今天小编关注到一个比较有意思的话题,就是关于c语言二分查找法的问题,于是小编就整理了2个相关介绍c语言二分查找法的解答,让我们一起看看吧。
c语言二分法?
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是折半查找要求线性表必须***用顺序存储结构,而且表中元素按有序排列。该算法一开始令 [low, high] 为整个序列的下标区间,然后每次测试当前 [low, high] 的中间位置 mid = (left + right) / 2,判断 array[mid] 与欲查询的元素 num 的大小:
若 array[mid] == num,说明查找成功,退出查询;
若 array[mid] > num,说明元素 num 在 mid位置的左边,因此往左子区间 [left, mid - 1] 继续查找;
若 array[mid] < num,说明元素 num 在 mid位置的右边,因此往左子区间 [mid + 1, right] 继续查找;
C++ 输入10个数(有序),用二分法进行查找某个数是否在其中?
int binsearch(int *a, int n,int e)/*************a是数组,n是数组大小,e是要查找的元素*/{int low,mid,high;low=0;high=n-1;while(lowe)high=mid-1;else if(a[mid]
到此,以上就是小编对于c语言二分查找法的问题就介绍到这了,希望介绍关于c语言二分查找法的2点解答对大家有用。