এই নিবন্ধে আমরা আলোচনা করব কিভাবে আমরা C++ STL-এ std::merge() ফাংশন ব্যবহার করে দুটি সাজানো অ্যারেকে দ্রুত একত্রিত করতে পারি।
সুতরাং, সমস্যা সমাধানের আগে আসুন প্রথমে C++ STL-এ std::merge() নিয়ে আলোচনা করি।
std::merge() কি?
std::merge() ফাংশন হল C++ STL-এ একটি অন্তর্নির্মিত ফাংশন, যা
কিভাবে আমরা std::merge() ব্যবহার করে দুটি সাজানো অ্যারে দ্রুত মার্জ করব?
আমাদের দুটি সাজানো অ্যারে দেওয়া হয়েছে যা হল arr1[] এবং arr2[] এবং কাজ হল এই দুটি সাজানো অ্যারেকে একত্রিত করা এবং C++ STL-এ উপলব্ধ merge() ফাংশনটি ব্যবহার করে arr3[] হতে পারে এমন আরেকটি খালি অ্যারেতে সংরক্ষণ করা। .
-
প্রথমে আমরা arr[size_arr] এবং brr[size_brr] উভয় অ্যারের আকার গণনা করব এবং একটি তৃতীয় অ্যারের সংজ্ঞায়িত করব যার আকার উভয় অ্যারের চূড়ান্ত [size_arr+size_brr] এর আকারের যোগফল।
-
তারপর আমরা merge() ফাংশন ব্যবহার করে দুটি অ্যারেকে তৃতীয় অ্যারেতে মার্জ করব যেমন merge(arr, (arr + size_arr), brr, (brr + size_brr), ফাইনাল);
উদাহরণ
#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