이 글은 Java 데이터 구조에서 이진 검색 방법의 예에 대한 관련 정보를 주로 소개합니다. 이 글이 모든 사람이 이 부분을 이해하고 익히는 데 도움이 되기를 바랍니다. 도움이 필요한 친구들은
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의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!