কম্পিউটার

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


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

সুতরাং, সমস্যা সমাধানের আগে আসুন প্রথমে C++ STL-এ std::merge() নিয়ে আলোচনা করি।

std::merge() কি?

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

কিভাবে আমরা 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

  1. C# AddRange() পদ্ধতি ব্যবহার করে দুটি অ্যারে মার্জ করুন

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

  3. C# ব্যবহার করে একটি তালিকায় দুটি সাজানো অ্যারে মার্জ করুন

  4. Heapq ব্যবহার করে পাইথনে দুটি সাজানো অ্যারে মার্জ করবেন?