Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ชุดคู่ใน C++


ตั้งค่าใน C ++ เป็นคอนเทนเนอร์ที่เชื่อมโยงและมีองค์ประกอบที่ไม่ซ้ำกัน องค์ประกอบทั้งหมดเมื่อเพิ่มไปยังเฉพาะแล้วไม่สามารถแก้ไขได้ ทำได้เพียงลบและเพิ่มองค์ประกอบเพื่อเปลี่ยนเท่านั้น

คู่ถูกกำหนดภายใต้ส่วนหัว <ยูทิลิตี้> และใช้เพื่อจับคู่ค่าคู่สองค่าเข้าด้วยกัน คู่สามารถมีค่าที่แตกต่างกันหรือประเภทเดียวกัน คลาสมีฟังก์ชันของสมาชิก first() และ second() เพื่อเข้าถึงค่าต่างๆ ในคู่กัน

ลำดับขององค์ประกอบคู่ได้รับการแก้ไขแล้ว (อันดับแรก วินาที) เราสามารถใช้คู่เพื่อรวมค่าที่แตกต่างกันสองค่าของประเภทที่แตกต่างกัน

ในการเข้าถึงองค์ประกอบใด ๆ เราใช้ variable_name.first สำหรับองค์ประกอบแรกและใช้ variable_name.second สำหรับองค์ประกอบที่สองของทั้งคู่

ชุดของคู่ใน C++

  • ไม่อนุญาตให้มีคู่ที่ซ้ำกันในชุดคู่
  • องค์ประกอบของชุดดังกล่าว นั่นคือ คู่จะถูกจัดเรียงตามคีย์ซึ่งเป็นองค์ประกอบแรกของแต่ละคู่ที่มีอยู่ในชุดนั้น
  • เราสามารถค้นหาคู่ใดคู่หนึ่ง เพิ่มคู่ ลบคู่ และนับจำนวนคู่ได้
  • ไวยากรณ์คือ −
    set< pair<datatype1, datatype2> > set_name;
set < pair <int, int> > set1;

ในที่นี้ set1 เป็นอ็อบเจกต์ของชุดประเภทซึ่งประกอบด้วยคู่ของจำนวนเต็มสองประเภท

ตัวอย่าง

#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)