递归和非递归两种方式实现二分法查找(java)
来源:互联网 发布:赚流量的软件 编辑:程序博客网 时间:2024/05/21 05:44
public class BinarySearch {public static void main(String[] args){int[] arr = {1,3,5,7,9,11,13,15,17};System.out.println(search(arr,13));System.out.println(search1(arr,1,0,arr.length-1));}public static int search(int[] arr,int n)//非递归{int low = 0;int high = arr.length-1;while(low<=high){int mid = (low+high)/2;if(arr[mid]==n)return mid;if(arr[mid]<n){low=mid+1;}else if(arr[mid]>n){high=mid-1;}}return -1;}public static int search1(int[] arr,int n,int begin,int end)//递归{int mid=(begin+end)/2;if(n<arr[begin] || n>arr[end] || arr[begin]>arr[end]){return -1;}if(arr[mid]<n){return search1(arr,n,mid+1,end);}else if(arr[mid]>n){return search1(arr,n,begin,mid-1);}elsereturn mid;}}
2 0
- 递归和非递归两种方式实现二分法查找(java)
- 二分法,递归和非递归方式 实现(Java)
- 二分法查找(递归和非递归)
- 二分法查找(递归和非递归)
- 二分查找的两种实现方式(递归和非递归)--python实现
- C++之二分查找/折半查找(非递归和递归两种方式)
- c++二分查找实现(非递归和递归方式)
- c++二分查找实现(非递归和递归方式)
- 二分查找(递归和非递归两种方法)
- Java(二分查找算法实现,分别使用递归和非递归方式)
- 二分查找递归和非递归(java实现)
- 二分法查找递归方式()
- 二分法(递归和非递归)
- 二分查找(递归与非递归两种方法实现)
- 二分查找的两种实现方式--循环和递归
- 二分法查找的实现 递归与非递归方法
- 二分查找算法(递归与非递归两种方式)
- 使用递归和非递归两种方法实现二分查找!!!
- maodian
- avrisp mkii问题
- 关于java的单例模式。
- Java 生成器 rapid-generator 配置
- Linux下make和makefile
- 递归和非递归两种方式实现二分法查找(java)
- hdoj5567sequence1
- Poj 1006 中国剩余定理
- 在Mac下配置php开发环境:Apache+php+MySql
- 关于JAVA NIO的就绪选择
- 理解 JavaScript 的作用域链
- 图算法:1、邻接表实现图的深度优先遍历,广度优先遍历
- GSM/GPRS/EGPRS相关调制方式/速率
- iOS开发实战tips--断点可以这样玩(debug)