public class BinaryChop {
private int a[];
private int nElements ;
public int find(int searchKey){
int lower = 0;
int upper = nElements -1;
int curIn;
while(true){
curIn = (lower + upper)/2;
if(a[curIn] == searchKey){
return curIn;
}else if(lower > upper)
return nElements;
else{
if(a[curIn] < searchKey)
lower = curIn +1;
else
upper = curIn -1;
}
}
}
public BinaryChop(int a[]){
this.a = a;
this.nElements = a.length;
}
public static void main(String[] args) {
int a[] = new int[100];
for(int i= 0;i <100;i++){
a[i] = i+1;
}
System.out.println(new BinaryChop(a).find(22));
}
}
分享到:
相关推荐
java二分查找开发技术实现代码,注意二分查找必须是有序数组
用java二分查找法实现日期搜索 用java二分查找法实现日期搜索 用java二分查找法实现日期搜索
java 二分查找法的实现方法 java 二分查找法的实现方法
用java实现二分查找法BianrySearch 用java实现二分查找法BianrySearch 用java实现二分查找法BianrySearch
java实现二分查找,包含时间复杂度的计算
JAVA用递归和非递归的方法实现二分查找
二分查找的三种实现方式 分别是: while for 递归
Java二分查找递归算法
Java 二分查找算法的示例代码。 欢迎访问个人博客。 http://blog.csdn.net/evanwang1987
Java 二分查找算法的示例代码。 欢迎访问个人博客。 http://blog.csdn.net/evanwang1987
while(low){ if(x==arr[mid]){ return mid; } else if(mid>0&&x[mid]){... else if(mid){//若前面没有判断,则当要查找数超过arr数组中最大值时出现死循环。 low=mid+1; mid=(low+high)/2; }
用java实现了二分查找,效率较高,思路清晰易懂。
java二分查找算法,用于普通的代码算法。。,。。
在这个教程中,我们将深入研究二分查找算法的工作原理,并提供一个Java示例来演示如何实现它。无论您是初学者还是有经验的Java开发者,通过学习这个算法,您将获得一个强大的搜索工具,有助于在大型有序数据集中快速...
文件读出数组进行选择排序和二分查找文件读出数组进行选择排序和二分查找java实现
二分查找 折半查找
二分查找的递归与非递归实现(java版)
基于java语言的二分查找,递归以及非递归算法,仅供学习娱乐
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素...
Java二分查找.doc