查找:一个个找

8 分钟

最朴素的查找就是从头到尾一个个比,找到就停,这叫顺序查找。像在一叠没排过的照片里找某一张,只能一张张翻。它的好处是简单、数据乱着也能用;坏处是数据一多就慢——最坏情况(要找的在最后,或根本不存在)得看完全部。

#include <iostream>
using namespace std;
int main() {
    int a[6] = {5, 2, 8, 1, 9, 3}, n = 6, target = 9;
    int pos = -1;
    for (int i = 0; i < n; i++)
        if (a[i] == target) { pos = i; break; }
    if (pos != -1) cout << "找到,在第 " << pos << " 位";
    else cout << "没找到";
}

一万个数最坏要比一万次。别忘了用 break:找到后不停下来会白白比完剩下的;也要用 pos = -1 表示"没找到",不能只输出下标。

小纸条

一万个数里找一个,最坏要比几次?

登录 后可看答案

查找:一个个找 · C++ 入门 · op599 课程