散列查找(哈希表Hash)

利用内置结构
unordered<int,bool>Hashtable; //表示索引是int类型,内容是bool类型。
Note:注意是Hashtable,而不是Hashtable[MAXN]

题目:

 

 

解答:

/*
-------------------------------------------------
   Author:       wry
   date:         2022/3/2 18:12
   Description:  Hash
-------------------------------------------------
*/

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 100+10;

int arr[MAXN];

unordered_map<int,bool>HashTable;      //哈希表构建时,不用加[MAXN],int表示索引,bool是值,操作和数组相似

int main() {
    int n,m,k;
    while (cin>>n) {
        for (int i=0;i<n;i++) {
            cin >> arr[i];
            HashTable[arr[i]] = true;
        }
        cin >> m;
        while (m--) {
            cin >> k;
            if (HashTable[k]) {
                cout << "Yes" << endl;
            }
            else {
                cout << "No" << endl;
            }
        }
    }
    return 0;
}

 

posted @ 2022-03-02 18:41  火星架构师  阅读(148)  评论(0)    收藏  举报