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

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

দুটি সেটের ইউনিয়ন (Union) হলো সেই উপাদানগুলো যা দুটি সেটের যেকোনো একটিয় বা উভয়তেই থাকে। যদি একই উপাদান দুটি সেটেই থাকে, তবে ফলাফলে সেটি শুধু একবার থাকে।

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

  • Set Union (ইউনিয়ন)
  • Set Intersection (ইন্টারসেকশন)
  • Symmetric Set Difference (সিমেট্রিক ডিফারেন্স)
  • Set Difference (ডিফারেন্স/সাবট্রাকশন)

এলগরিদম

শুরু
  ভেক্টর v এবং ইটারেটর st ঘোষণা করুন
  st = set_union(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;

    // set_union সর্ট করা রেঞ্জ আশা করে
    sort(set1, set1 + 6);
    sort(set2, set2 + 6);

    st = set_union(set1, set1 + 6, set2, set2 + 6, v.begin());
    v.resize(st - v.begin());  // আসল আকারে রিসাইজ

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

    return 0;
}

আউটপুট

The union between the sets has 10 elements:
1 2 3 4 5 6 7 8 9 10

গুরুত্বপূর্ণ: set_union কাজ করার জন্য ইনপুট রেঞ্জ দুটোই সর্ট করা থাকতে হয়। আউটপুটও সর্টেড থাকে। ডুপ্লিকেট উপাদান স্বয়ংক্রিয়ভাবে হ্যান্ডেল হয়।

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

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

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

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