Java二分法查找測試

public class TestBinarySerach {
	public static void main(String[] args) {
		int[] arr = {7, 8, 9, 10, 12, 20, 30, 40, 50, 80, 100};
		System.out.println(binarySearch(arr,10));
		System.out.println(binarySearch(arr,20));
		System.out.println(binarySearch(arr,100));
	}
	public static int binarySearch(int[] array,int targetEle) {
		int before = 0;
		int after = array.length-1;
		int count = 0;
		while(before<=after) {
			count++;
			int middle = (before+after)/2;
			if(targetEle == array[middle]) {
				System.out.println("遍歷次數"+count);
				return middle;
			}
			if(targetEle>array[middle]) {
				before = middle+1;
			}
			if(targetEle<array[middle]) {
				after = middle-1;
			}
		}
		System.out.println("遍歷次數"+count);
		return -1;
	}

}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章