トップ-> C++入門:7章 STL-> set

←前ページへ :  トップへ :  次ページへ→

15. set

  setはすでに説明したように、ソートしながらデータを追加するコンテナです。ただし、 データの重複は許されません。

パフォーマンス
作業内容 処理速度
要素の追加 対数時間
要素の削除 対数時間
要素の追加(追加場所をイタレーターで指定) 定数時間
要素の削除(イタレーターで指定) 定数時間

setクラスの主要な関数
関数名 書 式 説 明
empty bool empty() const queueの要素が0なら「true」を、カラでなければ「false」を返します
size size_type size() 要素数を返します
count size_type count(const key_type& key) const keyに一致するキーの数(0または1)を返します。
insert pair<iterator, bool> insert( const value_type &x ) xを追加します。戻り値として、結果が帰ります。
insert iterator insert( iteratorit, const value_type& x ) itの直後にxを追加し、イタレーターを返します。
insert void insert(const value_type* first, const value_type* last) firstからlastまでの要素を追加します。
find iterator find(const key_type& key) keyを検索し、その値を指すイタレーターを返します。keyが見つからない場合は最後を示すイタレーターを返します。
clear void clear() すべての要素を削除します。
erase void erase(iterator it ) itが指す要素を削除します。
erase void erase(iterator start, iterator last ) startからlastまでの要素を削除します。
erase size_type erase(const key_type key ) keyを削除します。削除した項目数(0または1)を返します。
begin iterator begin() マップの最初の要素を指すイタレーターを返します
end iterator end() マップの末尾を指すイタレーターを返します
rbegin iterator begin() マップの末尾を指す逆方向イタレーターを返します
rend iterator end() マップの先頭を指す逆方向イタレーターを返します
upper_bound iterator upper_bound(const key_type& key) keyより大きな要素(pair)の最初を指すイタレーターを返します。
存在しない場合は末尾を指すイタレーターを返します。
lower_bound iterator lower_bound(const key_type& key) key以下の要素(pair)の最後を指すイタレーターを返します。
存在しない場合は末尾を指すイタレーターを返します。
equal_range pair<iterator, iterator> equal_range(const key_type& key) このメンバ関数は、x.first == lower_bound(key) および x.second == upper_bound(key) とする反復子 x のペアを返します。
※setでは、key_typeとvalue_typeは同じです。

コンストラクタ
書 式 説 明
set(const Pred& comp = Pred(), const A& al = A())
例) set<int> s1();

intを格納するsetを作成しs1とする
set(const set& x)
例) set<int> s2(s1);
コピーコンストラクタ
m1と同じsetを作成し、s2とする
set(const value_type* first, const value_type*
last, const Pred& comp = Pred(), const A& al = A()))
例) set<int> s3(s1.begin(), s1.end());


s1の先頭から末尾までの要素からなるsetを作成し、s3とする

  次のページでは実際に使ってみます。


←前ページへ :  トップへ :  次ページへ→