最简单的查找算法。遍历一遍数组,如果找到目标,返回该目标的位置;否则返回 -1。
1 | /** |
如果不是从一组随机的序列里查找,而是从一组排好序的序列里找出某个元素的位置,则可以有更快的算法:对于递增排序的序列,每次取出中间的元素,并与要查找的数比较。如果要查找的数大于该元素,则取右边一半的数,否则取左边一半的数。重复上述操作直到找到该数或者该元素的左侧和右侧已经没有元素。
1 | /** |
直接调用标准库函数中的 bsearch,但该函数只会返回带查找的元素的值(如果序列中有该元素)或者NULL(如果序列中不存在该元素),而不会返回其位置。
1 |
|