template <class Key, class Hash = std::hash<Key>, class Pred = std::equal_to<Key>, class Allocator = std::allocator<Key>> class unordered_set
#include <unordered_set> using namespace std; unordered_set <Key> 変数名; unordered_set<int> x; // 空の unordered_set,昇順 unordered_set<int> x(it1, it2); // it1 から it2 の範囲で初期化 unordered_set<int> x(y); // unordered_set y で初期化 unordered_set<int> x ({2, 4, 1}); // 初期化子リスト unordered_set<int> x {2, 4, 1}; // 初期化子リスト unordered_set<int> x = {2, 4, 1}; // 初期化子リスト
= == !=
#include <iostream> #include <unordered_set> using namespace std; void print(string str, unordered_set<int> &s) { if (s.empty()) cout << "コンテナ " << str << " は空です\n"; else { cout << str << " の要素数: " << s.size() << endl; for (auto x : s) cout << " " << x; // unordered_set<int>::iterator it; // for (it = s.begin(); it != s.end(); it++) // cout << " " << *it; cout << endl; } } int main() { // 初期設定 cout << "**初期設定**\n"; unordered_set<int> s1 = {1, 0, 4, 3, 2}; print("s1", s1); // 2 番目の要素の前に要素を追加 cout << "**2 番目の要素の前に要素を追加**\n"; unordered_set<int>::iterator it = s1.begin(); it++; s1.insert(it, 5); print("s1", s1); // 3 番目の要素,及び,要素 4 を削除 cout << "**3 番目の要素,及び,要素 4 を削除**\n"; it = s1.begin(); it++; it++; s1.erase(it); s1.erase(4); print("s1", s1); // 要素 3 の位置 cout << "**要素 3 の位置**\n"; it = s1.find(3); printf(" 検索: %d\n", *it); // 交換 cout << "**交換**\n"; unordered_set<int> s2; cout << "入れ替え前:\n"; print("s1", s1); print("s2", s2); s1.swap(s2); cout << "入れ替え後:\n"; print("s1", s1); print("s2", s2); // 演算子で比較 cout << "**比較**\n"; s1.insert(5); s1.insert(1); s1.insert(3); s1.insert(2); print("s1", s1); if (s1 == s2) cout << " 2 つのコンテナ内の要素はすべて等しい\n"; // s1 のすべての要素を削除 cout << "**s1 のすべての要素を削除**\n"; s1.clear(); print("s1", s1); return 0; }
**初期設定** s1 の要素数: 5 2 3 4 0 1 **2 番目の要素の前に要素を追加** s1 の要素数: 6 5 1 0 4 3 2 **3 番目の要素,及び,要素 4 を削除** s1 の要素数: 4 5 1 3 2 **要素 3 の位置** 検索: 3 **交換** 入れ替え前: s1 の要素数: 4 5 1 3 2 コンテナ s2 は空です 入れ替え後: コンテナ s1 は空です s2 の要素数: 4 5 1 3 2 **比較** s1 の要素数: 4 2 3 5 1 2 つのコンテナ内の要素はすべて等しい **s1 のすべての要素を削除** コンテナ s1 は空です
菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |