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

C++ STL-এ মার্জ অপারেশন: merge, includes, set_union, set_intersection, set_difference, inplace_merge

এই টিউটোরিয়ালে C++ STL-এ বিভিন্ন মার্জ অপারেশন ফাংশনগুলো বোঝানো হয়েছে।

প্রধান ফাংশনগুলো

  • merge() — দুটি সোর্টেড কন্টেইনার মার্জ করে নতুন সোর্টেড কন্টেইনার বানায়।
  • includes() — প্রথম কন্টেইনারের সব এলিমেন্ট দ্বিতীয়ত আছে কিনা চেক করে।
  • set_union(), set_intersection(), set_difference() — সেট অপারেশন।
  • inplace_merge() — একই কন্টেইনারের দুটি সোর্টেড পার্ট মার্জ করে।

C++ প্রোগ্রাম (merge এবং includes)

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

int main() {
    vector<int> v1 = {1, 3, 4, 5, 20, 30};
    vector<int> v2 = {1, 5, 6, 7, 25, 30};
    vector<int> v3(12);

    merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());

    cout << "মার্জ করার পর নতুন কন্টেইনার:\n";
    for (int& x : v3) cout << x << " ";
    cout << endl;

    vector<int> v4 = {1, 3, 4, 5, 6, 20, 25, 30};
    if (includes(v4.begin(), v4.end(), v1.begin(), v1.end()))
        cout << "v4 v1-কে ইনক্লুড করে";
    else
        cout << "v4 v1-কে ইনক্লুড করে না";
    return 0;
}

আউটপুট

মার্জ করার পর নতুন কন্টেইনার:
1 1 3 4 5 5 6 7 20 25 30 30
v4 v1-কে ইনক্লুড করে
  1. C++ STL-এ Set Union বাস্তবায়ন: দুটি সেটের ইউনিয়ন

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

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

  4. C++ STL-এ কাস্টম অবজেক্টের ভেক্টর সোর্ট করা (Sorting Vector of Custom Objects)