181 字
1 分钟
折半查找
折半查找
算法思维
- 折半查找是顺序查找
- 通过每次减少一半的待选元素来提高查找速度
算法设计
- 循环执行下面操作指导待选元素数量为0
- 对中间元素进行匹配
- 若匹配,返回相关数据
- 若不匹配,将待选元素数组以中间为界,缩小一半,回到 1
算法实现
// 折半查找/*arr:要查找的有序数组len:数组长度x:要查找的元素*/int search_binSearch(int* arr, int len, int x){ int low = 0, height = len-1; int m; while(low <= height) { m = (low+height)/2; if(arr[m] == x) return m;
if(arr[m] > x) { height = m-1; } else { low = m+1; } } return -1;}原文链接:CSDN