线性表查找
1. 顺序查找
int Search(SeqList L, ElemType key) {
for (i = len; i > 0; i--)
if (L.elem[i]==key) break;
return i;
}
2. 折半查找
int BinarySearch(SeqList L, ElemType key) {
int low=0, high=len-1, mid;
while (low<=high) {
mid=(low+high)/2;
if (L.elem[mid]==key)
return key;
else if (L.elem[mid]>key)
high=mid-1;
else
low=mid+1;
}
return -1;
}
3. 分块查找
折半查找
分块查找
二叉树查找
B树查找
哈希查找