binarysearch java,java数据结构之二分查找法 binarySearch的实例
java數(shù)據(jù)結(jié)構(gòu)之二分查找法 binarySearch的實(shí)例
折半查找法,前提是已經(jīng)排好序的數(shù)組才可查找
實(shí)例代碼:
public class BinarySearch {
int[] bArr;
public void setArr(int[] bArr){
this.bArr=bArr;
}
public static void main(String[] args) {
int arrLength=16;
int[] bArr=new int[arrLength];
System.out.println("數(shù)組:");
bArr=new int[]{72,31,13,94,85,27,64,71,19,55,49,40,8,70,17,13};
for(int i=0;i
//bArr[i]=(int)(Math.random()*100);
System.out.print(bArr[i]+" ");
}
System.out.println();
System.out.println("排序:");
QuickSort qs=new QuickSort();
qs.setArr(bArr);
qs.quickSort(0, bArr.length-1);
for(int i=0;i
System.out.print(bArr[i]+" ");
}
BinarySearch bs=new BinarySearch();
bs.setArr(bArr);
System.out.println();
System.out.println("查找:");
int val=bs.binarySearch(bArr.length-1, 0, 13);
System.out.println("查找:bArr["+val+"]="+13);
}
int binarySearch(int max,int min,int val){//有重復(fù)的取的是第一個(gè)出現(xiàn)的位置
int mid=(max+min)/2;
if(val==bArr[mid]){
return mid;
}
else if(val>bArr[mid]){
return binarySearch(max,mid,val);
}
else if(val
return binarySearch(mid,min,val);
}
return -1;//查找失敗
}
}
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
總結(jié)
以上是生活随笔為你收集整理的binarysearch java,java数据结构之二分查找法 binarySearch的实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络项目——最小网元设计(阶段二)
- 下一篇: 主成分分析法_探索主成分分析法