Heim  >  Artikel  >  Java  >  Beispiele für die binäre Suchmethode „binarySearch“ in der Java-Datenstruktur

Beispiele für die binäre Suchmethode „binarySearch“ in der Java-Datenstruktur

黄舟
黄舟Original
2017-10-20 09:38:431233Durchsuche

Dieser Artikel stellt hauptsächlich relevante Informationen zum Beispiel der binären Suchmethode der Java-Datenstruktur vor. Ich hoffe, dass dieser Artikel jedem helfen kann, diesen Teil des Inhalts zu verstehen und zu beherrschen

Ein Beispiel für eine binäre Suchmethode der Java-Datenstruktur

Halbe Suchmethode, die Voraussetzung ist, dass das Array sortiert wurde, bevor es durchsucht werden kann

Beispielcode:


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;//查找失败
 }
}

Das obige ist der detaillierte Inhalt vonBeispiele für die binäre Suchmethode „binarySearch“ in der Java-Datenstruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn