【每日算法】二分查找算法
来源:互联网 发布:宇多田光知乎 编辑:程序博客网 时间:2024/05/21 09:03
代码:
//递归版本int binarysearch(int arr[], int left, int right, int x){if (NULL != arr&&left <= right){int mid;mid = (left + right) / 2;if (arr[mid] = x)return mid;else if (arr[mid] > x)return binarysearch(arr, left, mid - 1, x);elsereturn binarysearch(arr, mid + 1, right, x);}return -1;}//非递归版本int binarysearch(int arr[], int left, int right, int x){if (NULL == arr || left > right)return -1;int mid;while (left <= right){mid = (left + right) / 2;if (arr[mid] == x)return mid;else if (arr[mid] > x)right = mid-1;elseleft = mid+1;}return -1;}
举例子:
1、旋转数组中最小的数字(剑指offer)、循环有序数组中查找指定元素
2、数组中的元素有重复,要找出x首次出现的位置
阅读全文
0 0
- 【每日算法】二分查找算法
- 【每日算法】开篇&二分查找
- 《每日编程》----《算法》----《一》----二分查找
- [算法]二分查找算法
- 算法----二分查找算法
- 查找算法 二分查找
- 查找算法:二分查找
- 算法--查找--二分查找
- 查找算法---二分查找
- 查找算法:二分查找算法
- 算法:二分查找算法(c++)
- 二分查找算法
- [算法]有序二分查找
- 二分查找算法
- 常用算法- 二分查找
- C 二分查找算法
- 二分查找算法:
- 【经典算法】二分查找
- 百练_2714:求平均年龄
- 字典
- [leetcode]592. Fraction Addition and Subtraction
- Spring Date jpa 配置文件 spring.xml
- CSS之清除浮动clear
- 【每日算法】二分查找算法
- Java IO: 管道
- WPF自定义TextBox(可选:图片, 占位符)
- #bzoj2238#填表格(数学证明 or 打表猜规律)
- Java的Scanner用法
- Mybatis二
- jvm系列(八):jvm知识点总览
- bootstrap-select怎么刷新数据
- 1065. A+B and C (64bit) (20)