二分法查找
(1)非递归算法
public static int search(int[] sz,int k) {
int low = 0;
int high = sz.length - 1;
int middle;
while (low <= high) {
middle = (low + high) / 2;
if (k < sz[middle]) {
high = middle - 1;
} else if (k > sz[middle]) {
low = middle + 1;
} else {
return middle;
}
}
return -1;
}