版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CallmeZhe/article/details/79456013
顺序查找
基本原理:依次遍历
public class Solution {
public static int SequenceSearch(int[] sz, int key) {
for (int i = 0; i < sz.length; i++) {
if (sz[i] == key) {
return i;
}
}
return -1;
}
}
折半查找
基本原理:每次查找都对半分,但要求数组是有序的
public class Solution {
public static int BinarySearch(int[] sz,int key){
int low = 0;
int high = sz.length - 1;
while (low <= high) {
int middle = (low + high) / 2;
if(sz[middle] == key){
return middle;
}else if(sz[middle] > key){
high = middle - 1;
}else {
low = middle + 1;
}
}
return -1;
}
}