顺序查找

阅读量: 407 编辑

顺序查找的算法比较直接,就是遍历数组,从头开始找。但是如果数据量比较大,很显然是比较慢的。

【题目描述】

给出 n 个不相同的正整数 a1,a2,a3,.... ,an,其中 n ≤ 10000,ai ≤ 109

有 m 个查询,m ≤ 10000,每次查询 x 是否在数组中,存在输出 "Yes" ,否则输出 "No" 。

【输入样例】

8
7 13 4 5 8 1 11 9
2
13
15

【输出样例】

Yes
No

【参考程序】

//爱码岛编程
#include <iostream>
using namespace std;

const int MAXN = 10005;
int arr[MAXN];

int main() {

    int n, m, x;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }

    // 查找 m 次,每次输出 x 是否存在于数组中
    cin >> m;
    for (int i = 0; i < m; i++) {
        cin >> x;
        bool flag = false; //不存在
        for (int i = 0; i < n; i++) {
            if (arr[i] == x) {
                flag = true; //存在
                break;
            }
        }
        if (flag) {
            cout << "Yes" << endl;
        } else {
            cout << "No" << endl;
        }
    }

    return 0;
}
爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司