c++stlコンテナsetメンバー関数の紹介とset集合挿入、遍歴などの用法例


c++stlコレクションset紹介c++stlコレクション(Set)は、ソートされたオブジェクトを含む関連コンテナです.set/multisetは、所定のソート基準に基づいて要素を自動的にソートします.両者の違いは、前者は要素の重複を許さず、後者は許容することである.1)元素の値を直接変えることはできません.それは元を乱すからです.
 
c++stl集合set紹介
c++stlコレクション(Set)は、ソートされたオブジェクトを含む関連コンテナです.set/multisetは、所定のソート基準に基づいて要素を自動的にソートします.両者の違いは、前者は要素の重複を許さず、後者は許容することである.
1)要素の値を直接変更することはできません.それは元の正しい順序を乱すので、要素の値を変更するには古い要素を削除する必要があります.新しい要素を挿入します.
2)直接アクセス要素の操作関数は一切提供されず,反復器による間接アクセスのみが可能であり,反復器の観点から要素値は定数である.
3)要素比較動作は、同じタイプのコンテナでのみ使用できます(つまり、要素とソート基準は同じでなければなりません).
setテンプレートプロトタイプ://Keyが要素(キー値)タイプ
1 template   < class   Key,  class   Compare=less<Key>,  class   Alloc=STL_DEFAULT_ALLOCATOR(Key) >
プロトタイプから、比較関数オブジェクトおよびメモリディスペンサはデフォルトパラメータを使用していることがわかります.したがって、指定されていない場合、システムのデフォルト方式が使用されます.
setの各メンバー関数のリストは以下の通りです.
c++stlコンテナsetメンバー関数:begin()--最初の要素を指す反復器を返します.
c++stlコンテナsetメンバー関数:clear()--すべての要素をクリア
c++stlコンテナsetメンバー関数:count()--値要素の数を返します.
c++stlコンテナsetメンバー関数:empty()--コレクションが空の場合はtrueを返します.
c++stlコンテナsetメンバー関数:end()--最後の要素を指す反復器を返します.
c++stlコンテナsetメンバー関数:equal_range()--指定した値に等しいセットの上下限の2つの反復器を返します.
c++stlコンテナsetメンバー関数:erase()--コレクション内の要素を削除
c++stlコンテナsetメンバー関数:find()--検索された要素を指す反復器を返します.
c++stlコンテナsetメンバー関数:get_allocator()--コレクションを返すディスペンサ
c++stlコンテナsetメンバー関数:insert()--コレクションに要素を挿入
c++stlコンテナsetメンバー関数:lower_bound()--ある値より大きい(または等しい)最初の要素を指す反復器を返します.
c++stlコンテナsetメンバー関数:key_「comp()」--要素間の値比較に使用する関数を返します.
c++stlコンテナsetメンバー関数:max_size()--コレクションに格納できる要素の最大制限値を返します.
c++stlコンテナsetメンバー関数:rbegin()--コレクション内の最後の要素を指す逆反復器を返します.
c++stlコンテナsetメンバー関数:rend()--コレクション内の最初の要素を指す逆反復器を返します.
c++stlコンテナsetメンバー関数:size()--コレクション内の要素の数
c++stlコンテナsetメンバー関数:swap()--2つの集合変数を交換
c++stlコンテナsetメンバー関数:upper_bound()--値要素より大きい反復器を返します.
c++stlコンテナsetメンバー関数:value_comp()--要素間の値を比較する関数を返します.
c++stl集合set挿入、遍歴用法例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include<iostream>  #include<set>  using   namespace   std;  //set    int   main()       // int s, . www.169it.com      set< int > s;       s.insert(8);   // 8,         s.insert(1);       s.insert(12);       s.insert(6);       s.insert(8);    // 8, ,         set< int >::iterator it;  //        //         for (it=s.begin();it!=s.end();it++)       cout<<*it<<endl;          system ( "pause" );       return   0;  }
文章転載自:[169 IT-最新最新のIT情報]