数组的查找
如果一个数组排好序了, 对于寻找數组中的一个元素, 二分查找比线性查找更加高效。
用二分查找需要 先将 数组排序
public class selfTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
int key = 3; //需要查找的数
int[] array = {1,2,3,4,5,6,7,89,100,105,501};
int findArray = new selfTest().findArray(array, key);
System.out.println(findArray);
}
public int findArray(int[] a ,int key) {
int low = 0;
int heig = a.length - 1;
while(heig >= low) {
int mid = (low + heig)/2;
if(key > a[mid] ) {
low = mid +1;
}else if(key == a[mid]) {
return a[mid];
}else {
heig = mid -1;
}
}
return -low-1;
}
}