二分查找非递归实现(补充)
2020-07-14 05:50
85 查看
之前介绍了二分查找的递归实现,现在简单补充一下二分查找的非递归实现,顺带回忆一下思路。过程比较简单,所以直接给出完整代码:
/** * * @param arr 查找数组 * @param value 查找元素 * @return 查找值的位置(下标) */ public static int binarySearch03(int[] arr,int value){ int left = 0; int right = arr.length - 1; int mid = 0; while (left <= right){ mid = (left + right) / 2; if (value > arr[mid]){//向右查找 left = mid + 1; }else if (value < arr[mid]){//向左查找 right = mid - 1; }else { return mid;//找到了 } } //没有找到 return -1; }
总结:二分查找的递归实现和非递归实现都是需要掌握的。
相关文章推荐
- 二分查找的递归和非递归实现
- 二分查找的非递归和递归例程实现
- C语言实现 二分查找数组中的Key值(递归和非递归)
- 二分查找的递归与非递归实现
- 二分查找递归非递归实现并分析
- 二分查找的两种实现(循环与递归)
- 二分查找的递归与非递归实现
- 二分查找递归与非递归实现
- 二分查找的递归和非递归实现(C++函数模版)
- 数据结构:二分查找的递归与非递归实现--C实现
- [整理]二分查找搜索算法原理及递归,迭代方法实现
- 二分查找的递归与迭代实现
- Java实现折半查找(二分查找)的递归和非递归算法
- 二分查找的递归与非递归实现【Java版】
- 二分查找递归与非递归实现
- 二分查找 分治&递归实现(C++)
- 【算法拾遗】二分查找递归非递归实现
- c++实现二分查找 递归和非递归
- 二分查找的C++非递归实现
- 二分查找(递归与非递归实现)