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);
}
}
备注:博主微信公众号,不定期更新文章,欢迎扫码关注。