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

C++ STL-এ std::merge() ব্যবহার করে দুটি সোর্টেড অ্যারে দ্রুত মার্জ করা


এই আর্টিকেলে আমরা আলোচনা করব কিভাবে C++ STL-এ std::merge() ফাংশন ব্যবহার করে দুটি সোর্টেড অ্যারে দ্রুত মার্জ করা যায়।

std::merge() কী?

std::merge() C++ STL-এ একটি বিল্ট-ইন ফাংশন যা <algorithm> হেডার ফাইলে সংজ্ঞায়িত। এটি দুটি সোর্টেড রেঞ্জ বা সিকোয়েন্স মার্জ করতে ব্যবহৃত হয়। এই ফাংশন দুটি সোর্টেড রেঞ্জ একত্রিত করে একটি একক সোর্টেড রেঞ্জ তৈরি করে। সব উপাদান লেস-দ্যান অপারেটর (<) দিয়ে তুলনা হয় তাই তৃতীয় রেঞ্জটিও স্বয়ংক্রিয়ভাবে সোর্টেড হয়।

std::merge() দিয়ে কীভাবে দ্রুত মার্জ করব

দুটি সোর্টেড অ্যারে arr1[] এবং arr2[] দেওয়া আছে। কাজ হলো সেগুলো মার্জ করে তৃতীয় খালি অ্যারে arr3[]-এ রাখা, merge() ফাংশন ব্যবহার করে।

  • প্রথমে দুটি অ্যারের সাইজ বের করুন: arr[size_arr] এবং brr[size_brr]। তারপর তাদের যোগফল আকারের একটি তৃতীয় অ্যারে সংজ্ঞায়িত করুন: final[size_arr+size_brr]।

  • তারপর merge() ফাংশন দিয়ে দুটি অ্যারে তৃতীয় অ্যারেতে মার্জ করুন: merge(arr, (arr + size_arr), brr, (brr + size_brr), final);

উদাহরণ

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

int main() {
    int arr[] = {1, 2, 3};
    int size_arr = sizeof(arr)/sizeof(arr[0]);
    int brr[] = {4, 5, 6};
    int size_brr = sizeof(brr)/sizeof(brr[0]);
    int final[size_arr + size_brr];
    merge(arr, (arr + size_arr), brr, (brr + size_brr), final);
    cout << "Final array after merging the elements is: ";
    for (int i = 0; i < (size_brr + size_arr); i++)
        cout << final[i] << " ";
    return 0;
}

আউটপুট

Final array after merging the elements is: 1 2 3 4 5 6

  1. C#-এ AddRange দিয়ে দুটি অ্যারে মার্জ করা

  2. C#-এ দুটি সর্টেড অ্যারে মার্জ করা

  3. C#-এ দুটি সর্টেড অ্যারে মার্জ করে লিস্টে রূপান্তর

  4. পাইথনে heapq.merge() ব্যবহার করে দুটি সর্টেড লিস্ট মার্জ করা