二分法查找

二分法查找的前提:数据是有序的

public static void main(String[] args) {
	int[] arr= {2, 5, 28, 65, 72 , 73,89, 235, 546};
	int key = 65;
	int left = 0;
	int right = arr.length;	
	while (left <= right) {		
		int middle = (left + right)/2;		
		if (arr[middle] > key) {			
			right = middle - 1;			
		}else if (arr[middle] < key) {			
			left = middle + 1;			
		}else {
            System.out.println(middle);			
			break;		
		}		
	    }	
	}

你可能感兴趣的:(JAVA)