首页 > 代码库 > 二分查找
二分查找
直接上代码
/** * 二分查找应用的两个条件: * 1.数据的存储必须是顺序存储结构,也就是带下标的,例如array和list * 2.数据必须有规律可循,例如已经按大小排序好 */ public class BinarySearch { //迭代实现,这里假设数据按照从小到大的顺序排列好 public void binarySearch1(int[] a,int target) { int sta = 0; int end = a.length -1; int mid = -1; while(sta < end) { mid = (sta + end)/2; if(a[mid] > target) end = mid - 1; else sta = mid + 1; } if (mid == -1) System.out.println("数据没找到"); System.out.println(mid); } //递归实现 public void binarySearch2(int[] a ,int target,int sta,int end) { if(sta > end) { System.out.println("数据没找到"); return ; } int mid = (sta + end)/2; if (a[mid] >target) binarySearch2(a,target,sta,mid-1); else if (a[mid] < target) binarySearch2(a,target,mid+1,end); else System.out.println(mid); } }
二分查找
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。