该方法仅适用于 有序且唯一 的数组(“数组”在Python中称为“列表”)
如找到,则返回下标,否则,返回-1。
// 顺序折半查找下标
public static int BinarySearch(int key, int[] num_list) {
int smaller = 0;
int bigger = num_list.length - 1;
while(smaller <= bigger){
int mid = smaller + (bigger - smaller) / 2;
if(num_list[mid] >key) {
bigger = mid - 1;
}else if(num_list[mid] < key) {
smaller = mid + 1;
}else {
return mid;
}
}
return -1;
}
PS:如果是为了工作,就直接拿去用,一时半会研究不通的。(总之本人是这样的~~~)
点
点赞点赞
赞
点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞
点 点 点
赞 赞 赞
点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞点赞
点 点 点 点
赞 赞 赞 赞