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

C++のペアのセット


Set in C ++は連想コンテナであり、固有の要素が含まれています。特定の要素に一度追加されたすべての要素は変更できません。要素を変更するには、要素を削除および追加することしかできません。

ペアはヘッダーで定義され、2つのペア値を結合するために使用されます。ペアは、異なるタイプまたは同じタイプの値を持つことができます。このクラスには、ペアの値に個別にアクセスするためのメンバー関数first()とsecond()があります。

ペア要素の順序は固定されています(1番目、2番目)。ペアを使用して、異なるタイプの2つの異種の値を組み合わせることができます。

要素にアクセスするには、 variable_name.firstを使用します 最初の要素にはvariable_name.secondを使用します ペアの2番目の要素。

C++のペアのセット

  • ペアのセットで重複するペアは許可されません。
  • このようなセットの要素、つまりペアは、セットに存在する各ペアの最初の要素であるキーに従って並べ替えられます。
  • 特定のペアを検索し、ペアを追加し、ペアを削除して、存在するペアの数を取得できます。
  • 構文は-
    set< pair<datatype1, datatype2> > set_name;
set < pair <int, int> > set1;

ここで、set1は、2つの整数型のペアで構成されるset型のオブジェクトです。

#include <bits/stdc++.h>
using namespace std;
int main(){
   //pair<int, int> pairs;
   int arr[]={ 2, 3, 1, 6, 9, 7, 10, 2 };
   int n=8;
   set<pair <int,int> > set1;
   for (int i = 0; i < n-1 ; i++) {
      for (int j = i + 1; j < n; j++) {
         if (arr[i] % 2 == 1 && arr[j] % 2 == 1) {
            // pairs of odd numbers
            pairs p1 = make_pair(arr[i], arr[j]);
            // putting into the set
            set1.insert(p1);
         }
      }
   }
   // to display the pairs
   for (auto const &var : set1) {
      cout << "(" << var.first << ", "<< var.second << ")"<< " ";
   }
   // to clear the set
   set1.clear();
}

出力

(1, 7) (1, 9) (3, 1) (3, 7) (3, 9) (9, 7)

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

    Setは抽象データ型であり、要素の値によって要素が識別されるため、各要素は一意である必要があります。要素の値は、セットに追加されると変更できませんが、その要素の変更された値を削除して追加することはできます。 マップは、マップされた方法で要素を格納する連想コンテナです。各要素には、キー値とマップされた値があります。 2つのマップされた値が同じキー値を持つことはできません。 したがって、上記から明らかなように、setには唯一のキーが含まれ、mapにはキーを持つ値が含まれ、どちらも一意でソートされた値を持つ必要があります。 順序付けされていない要素と並べ替えられていない要素には、unorder

  2. STLでペアを実装するC++プログラム

    ペアは、2つのデータオブジェクトで構成される単純なコンテナです: ‘first’ = The first element is referenced as ‘first’ ‘second’ = the second element and the order is fixed (first, second). ペアの割り当て、比較、コピーが可能です。タイプが異なる可能性のある2つの値を組み合わせるために使用されます。 構文は :ペア変数名(データ値1、データ値2)。 アルゴリズム Begin Write pair