あああ、C++、set
まず
using namespace std;
を書いておく。
set<int> Hoge;
Hogeという名前のsetを作る(要素はint)
Hoge.insert(2);
Hogeという名前のsetに要素2を追加する
auto c = Hoge.erase(2);
Hogeというリストから2を削除する。Hogeに要素2が含まれていればc=1になり、Hogeに要素2が含まれていなければc=0になる。つまり、cは要素を削除した回数である。setは重複する要素をまとめて格納してくれるのでcは0か1のどちらかである。
set<int> Hoge = {0, 1, 2, 3, 4};
for (auto it = Hoge.begin(); it != Hoge.end(); ++it) {
cout << *it << endl;
}
itはイテレータの略である。auto it=Hoge.begin()でitはHogeの初めの要素のキーとなる。*itはitがキーとなるHogeの要素である。Hoge={0,1,2,3,4}であれば*itは0である。++itでitは次の要素のキーとなり、++itを一回行うと*itは1となる。もう一回行うと*itは2となる。--itはその逆。mapとsetには--itが使えるが、std::unordered_map や std::unordered_setではできない。
set<int> s;
multiset<int> ms;
s.insert(); //要素の追加
s.erase(); //要素の削除
s.find(); //発見したらその要素へのイテレータを返す
s.count(); //要素の数を返す
s.empty(); //空ならtrue
s.size(); //要素数を返却
s.clear(); //空にする
この記事が気に入ったらサポートをしてみませんか?