Java基礎知識:采用二分法查找排序
采用二分法查找時,數據需是排好序的(升序還是降序)。假定是升序,其思想為:對于給定的值a,從序列的中間位置開始比較,如果當前位置的值等于a,那么查找成功;如果a小于當前位置的值,則到前半段去查找;反之,則到后半段去查找。
用(yong)java實現如下:
public class SearchTest{
public static int LookFor(int[] array, int value) {
int higher,middle,lower = 0;//頭初始為0
higher = array.length - 1;//尾長度
while(lower < higher){
middle = (lower + higher)/2;
if(value == array[middle]){
return middle;//查找到,返(fan)回(hui)數據位置(zhi)。
}
else if(value > array[middle]){
lower = middle + 1;//大于中間值,去后半段(duan)查找,此時lower值發生(sheng)變化
}
else if(value < array[middle]){
higher = middle - 1;//小于中(zhong)間值(zhi),去前半段查找(zhao),此時higher的值(zhi)發生變化(hua)
}
return -1;
}
}
public static void main(String[] args){
int[] a = {0,1,2,3,4,5,6,7,8,9};
int temp = LookFor(a, 8);
System.out.println(temp);
}
}
時間:2013-06-22 責任編輯:admin
相關文章
無相關信息

您現在的位置: