查找是一类重要的算法,尤其是在现今的大数据时代来看更是如此,选择一个好的查找算法往往可以起到事倍功半的效果
顺序表查找
顺序表查找是最为简单也是最为笨重的一类查找,其遵循的理念就是一个一个找。当需要在顺序表中查找一元素时,需要做的就是从头到尾对表进行一次遍历,直到找到结果为止
代码:
1 | int SequentialSearch(int* a, int n, int key) { |
改进版顺序查找
为了使顺序表在每次查找之前不进行不必要的判断是否越界,我们可以利用 “哨兵” 法,在数组的开头或者末尾之前设置一个 “哨兵” ,查找至哨兵位置直接返回没找到即可
代码:
1 | int SequentialSearch(int* a, int n, int key) { |
注意:这样写返回 0
表示没有找到