C ++中的对对集

C ++中的Set是一个关联容器,包含唯一元素。一旦添加到特定元素,所有元素都无法修改。一个人只能删除和添加元素以进行更改。

对在<utility>标头下定义,用于将两个对值耦合在一起。该对可以具有不同或相同类型的值。该类具有成员函数,first()并且second()可以成对访问各个值。

对元素的顺序是固定的(第一,第二)。我们可以使用对来组合两个不同类型的异构值。

要访问任何元素,我们将variable_name.first用于该对的第一个元素,并将variable_name.second用于该对的第二个元素。

C ++中的一组对

  • 一组配对中不允许有重复的配对。

  • 这样的集合中的元素(即对)将根据作为集合中每个对中第一个元素的关键字进行排序。

  • 我们可以搜索一个特定的配对,添加配对,删除配对,并获取当前配对的数量。

  • 语法是-

    set< pair<datatype1, datatype2> > set_name;
set < pair <int, int> > set1;

在此,set1是类型为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 p1 = make_pair(arr[i], arr[j]);
            //放入集合
            set1.insert(p1);
         }
      }
   }
   //显示对
   for (auto const &var : set1) {
      cout << "(" << var.first << ", "<< var.second << ")"<< " ";
   }
   //清除设置
   set1.clear();
}

输出结果

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