1.顺序查找(线性)

2.二分查找/折半查找

public int search(int key, int[] array) {
int l = 0, h = array.length - 1;
while (l <= h) {
int mid = l + (h - l) / 2;
if (key == array[mid]) return mid;
if (key < array[mid]) h = mid - 1;
else l = mid + 1;
}
return -1;
}

3.插值查找

适用于数据量大的有序数列,速度很快,一次就可以找到

 

 

4.斐波那契查找