C++ でのセット
セット (設定)
—追加された要素を自動的に昇順に並べ替えるコンテナです。ただし、同じ値を追加する場合、set
はそのインスタンスを 1 つだけ保存します (multiset
- multiset- には重複が含まれる場合があります)。新しい要素がセットに追加されると、並べ替え順序に違反しないように、要素はすぐに所定の位置に配置されます。
C++ のセットは、クラス set (multiset)
を通じて STL
標準テンプレート ライブラリで定義されます。
セットは赤と黒のバイナリ ツリーです。検索、削除、挿入の操作は対数的な複雑さになります。
セットを使用するには、“
set
” ライブラリを含める必要があります。
#include <セット>
プレ>
セット宣言:
set<int> mySet; // 空のセットを宣言します。
マルチセット mySet; // 空のマルチセットを宣言します。
セット (セット) を操作するための関数
empty()
- コンテナ内に要素が存在しないことをチェックします
size()
- コンテナ内の要素の数を返します
clear()
- コンテナをクリアします
insert()
- 要素を挿入します
erase()
- 要素を削除します
count()
- 指定されたキーに一致する要素の数を返します
find()
- 特定のキーを持つ要素を検索します
lower_bound()
- 指定された値以上の最初の要素へのイテレータを返します
upper_bound()
- 指定された値より大きい最初の要素への反復子を返します
セットとマルチセットの例
#include <iostream>
#include <セット>
名前空間 std を使用します。
int main()
{
set<int> mySet1; // 空のセットを宣言します
マルチセット mySet2; // 空のマルチセットを宣言します
// セットに要素を追加します
mySet1.insert(1);
mySet1.insert(2);
mySet1.insert(3);
mySet1.insert(1);
// マルチセットに要素を追加します
mySet2.insert(1);
mySet2.insert(2);
mySet2.insert(3);
mySet2.insert(1);
set<int>::イテレータ it; //イテレータを作成する
for(it = mySet1.begin(); it != mySet1.end(); it++) { // すべての要素を表示
cout << (*それ) << " "; // セット
}
cout <<エンドル;
for(it = mySet2.begin(); it != mySet2.end(); it++) { // すべての要素を出力します
cout << (*それ) << " "; // マルチセット
}
0 を返します。
}
プレ>