Java数据结构中关于二分查找法binarySearch的实例

这篇文章主要介绍了java数据结构之二分查找法 binarySearch的实例的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下

java数据结构之二分查找法 binarySearch的实例

折半查找法,前提是已经排好序的数组才可查找

实例代码:

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("数组:"); bArr=new int[]{72,31,13,94,85,27,64,71,19,55,49,40,8,70,17,13}; for(int i=0;i<arrLength;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<arrLength;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){//有重复的取的是第一个出现的位置 int mid=(max+min)/2; if(val==bArr[mid]){  return mid; } else if(val>bArr[mid]){  return binarySearch(max,mid,val); } else if(val<bArr[mid]){  return binarySearch(mid,min,val); } return -1;//查找失败 }}

以上就是Java数据结构中关于二分查找法binarySearch的实例的详细内容,更多请关注其它相关文章!

爱情使人忘记时间,时间也使人忘记爱情。

Java数据结构中关于二分查找法binarySearch的实例

相关文章:

你感兴趣的文章:

标签云: