/**
* 普通二分查找
*/
public class CommonBinarySearch
{
public static int binarySearch(int[] array, int key)
{
int low = 0;
int high = array.length - 1;
int middle = 0;
while (low <= high)
{
middle = (low + high)/2;
if (array[middle] > key)
{
high = middle - 1;
}
else if (array[middle] < key)
{
low = middle + 1;
}
else
{
return middle;
}
}
return -1;
}
public static void main(String[] args)
{
int[] arr = {1,3,5,7,9,11};
int key = 3;
//int position = recursionBinarySearch(arr,key,0,arr.length - 1);
int position = binarySearch(arr, key);
if(position == -1){
System.out.println("查找的是"+key+",序列中没有该数!");
}else{
System.out.println("查找的是"+key+",找到位置为:"+position);
}
}
}
运行结果: