C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++STLでのセットとマップ


Setは抽象データ型であり、要素の値によって要素が識別されるため、各要素は一意である必要があります。要素の値は、セットに追加されると変更できませんが、その要素の変更された値を削除して追加することはできます。

マップは、マップされた方法で要素を格納する連想コンテナです。各要素には、キー値とマップされた値があります。 2つのマップされた値が同じキー値を持つことはできません。

したがって、上記から明らかなように、setには唯一のキーが含まれ、mapにはキーを持つ値が含まれ、どちらも一意でソートされた値を持つ必要があります。

順序付けされていない要素と並べ替えられていない要素には、unordered_set / unordered_map、multiset/multimapがあります。

サンプルコード

#include<iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
   set<int> s; //initializing a empty set container
   set<int>::iterator it; //Initializing a set container as iterator
   s.insert(7); //inserting elements in the set container s
   s.insert(6);
   s.insert(1);
   s.insert(4);
   s.insert(2);
   s.insert(9);
   s.insert(10);
   cout << "Elements are in set:\n";
   for ( auto it : s)
      cout << it << " "; //printing elements of the set container
   return 0;
}

出力

1 2 4 6 7 9 10

サンプルコード

#include<iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
   map<char, int> m;                     //initialize a map
   map<char, int>::iterator iter;       //initializing a map as iterator
   m.insert (pair<char, int>('a', 10)); //inserting values to the map
   m.insert (pair<char, int>('b', 20));

   cout << "Elements in map:\n";
   for (iter=m.begin();iter!=m.end();iter++)
   cout << "[ " << iter->first << ", "<< iter->second << "]\n"; //printing the values of the map
   return 0;
}

出力

Elements in map: 
[ a, 10] 
[ b, 20]

  1. C ++ STLでmax_size()関数を設定します

    この記事では、C++STLのset::max_size()、それらの構文、動作、および戻り値について説明します。 C ++ STLの設定とは何ですか? C ++ STLのセットは、一般的な順序で一意の要素を持つ必要があるコンテナーです。要素の値は要素を識別するため、セットには一意の要素が必要です。セットコンテナに値を追加すると、後で変更することはできませんが、値を削除したり、セットに追加したりすることはできます。セットは二分探索木として使用されます。 何が設定されていますか::max_size()? max_size()は、ヘッダーファイルで宣言されているC++STLの組み込み関数です。

  2. C ++ STLでget_allocator()を設定します

    この記事では、C++STLのset::get_allocator()関数、それらの構文、動作、および戻り値について説明します。 C ++ STLの設定とは何ですか? C ++ STLのセットは、一般的な順序で一意の要素を持つ必要があるコンテナーです。要素の値は要素を識別するため、セットには一意の要素が必要です。セットコンテナに値を追加すると、後で変更することはできませんが、値を削除したり、セットに追加したりすることはできます。セットは二分探索木として使用されます。 設定内容::get_allocator()? get_allocator()関数は、C ++ STLに組み込まれている関数で