কম্পিউটার টিউটোরিয়াল

C++ STL-এ Set Intersection বাস্তবায়ন: দুটি সেটের অন্তঃসেট

দুটি সেটের ইন্টারসেকশন (Intersection) হলো সেই উপাদানগুলো যা দুটি সেটেই সাধারণভাবে থাকে। ফাংশনটি সবসময় প্রথম সেট থেকে উপাদানগুলো কপি করে একই ক্রমে।

সেট অপারেশন প্রকারভেদ:

  • Set Union
  • Set Intersection
  • Symmetric Set Difference
  • Set Difference

এলগরিদম

শুরু
  ভেক্টর v এবং ইটারেটর st ঘোষণা করুন
  st = set_intersection(set1, set1+n, set2, set2+n, v.begin())
  ইন্টারসেকশন প্রিন্ট করুন
শেষ

উদাহরণ কোড

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
    int set1[] = {5, 6, 7, 8, 9, 10};
    int set2[] = {1, 2, 3, 4, 6, 7};
    vector<int> v(10);
    vector<int>::iterator st;

    sort(set1, set1 + 6);
    sort(set2, set2 + 6);

    st = set_intersection(set1, set1 + 6, set2, set2 + 6, v.begin());
    v.resize(st - v.begin());

    cout << "The intersection between the two set has " << v.size() << " elements: " << endl;
    for (st = v.begin(); st != v.end(); ++st)
        cout << *st << " ";
    cout << endl;

    return 0;
}

আউটপুট

The intersection between the two set has 2 elements:
6 7

নোট: set_intersection-ও ইনপুট রেঞ্জগুলো সর্টেড থাকতে হবে। ফলাফলও সর্টেড অর্ডারে থাকে।

  1. C++ STL-এ Set Union বাস্তবায়ন: দুটি সেটের ইউনিয়ন

  2. C++ STL-এ Set Symmetric Difference বাস্তবায়ন

  3. C++ STL-এ Set Difference বাস্তবায়ন: সেট বিয়োগ

  4. C++ STL-এ Deque বাস্তবায়ন: ডাবল-এন্ডেড কিউ