setの使い方
setは集合を扱いたいときや重複せずに何かを数え上げたいときに使います.
setの宣言
std::set<格納したい型名> 変数名; set<格納したい型名> 変数名; // using namespace std; を書いているとき
setでよく使うメンバ関数
// set<T> s; とします // 要素数を返す. (戻り値:size_type) s.size(); // 要素をすべて削除する (戻り値:void) s.clear(); // 要素数が 0 のときは true, そうでないときは false を返す. (戻り値:bool) s.empty(); // key に一致する要素の個数を返す. 要素は重複しないので必ず 0 か 1 が返ってくる. (戻り値:size_type) s.count( const T& key ); // key を追加して, その要素を指すイテレータと挿入されたかどうかの組が返ってくる. (戻り値:pair<iterator,bool>) s.insert( const T& key ); // key を削除し, 削除した個数を返す. (戻り値:size_type) s.erase( const T& key ); // s の先頭を指すイテレータを返す. (戻り値:iterator) s.begin(); // s の末尾を指すイテレータを返す. (戻り値:iterator) s.end();
その他
// すべての要素を走査する for(set<T>::iterator it = s.begin() ; it != s.end() ; ++it ){ *it; }
...