折半查找算法(二分查找算法)

package queue;
/**
 * 折半查找算法(二分查找算法)
 * @author Administrator
 *
 */
public class HalfSearch {

	
	public static int halfSearch(int[] array,int key){
		int left = 0;
		int right = array.length-1;
		int mid = (left+right)/2;
		while(array[mid] != key){
			if(key > array[mid]){
				left = mid+1;
			}else if(key < array[mid]){
				right = mid -1;
			}
			
			if(left > right){
				return -1;
			}
			
			mid = (left+right)/2;
			
		}
		return mid;
	}
	
	public static void main(String[] args) {
		int[] array = {1,2,3,4,5,6,7};
		int pos = halfSearch(array, 9);
		System.out.println("pos=" + pos);
	}
	
	
	
}


猜你喜欢

转载自blog.csdn.net/lspj201007186/article/details/72455078