इस लेख में हम चर्चा करेंगे कि कैसे हम C++ STL में std::merge() फ़ंक्शन का उपयोग करके दो सॉर्ट किए गए सरणियों को जल्दी से मर्ज कर सकते हैं।
इसलिए, समस्या को हल करने से पहले, आइए पहले C++ STL में std::merge() पर चर्चा करें।
std::merge() क्या है?
std::merge() फंक्शन C++ STL में एक इनबिल्ट फंक्शन है, जिसे
कैसे हम std::merge() का उपयोग करके दो सॉर्ट किए गए सरणियों को जल्दी से मर्ज करेंगे?
हमें दो क्रमबद्ध सरणियाँ दी गई हैं जो arr1 [] और arr2 [] हैं और कार्य उन दो क्रमबद्ध सरणियों को मर्ज करना है और इसे एक अन्य खाली सरणी में संग्रहीत करना है जो arr3 [] हो सकता है, फ़ंक्शन मर्ज () का उपयोग करके C ++ STL में उपलब्ध है। ।
-
पहले हम arr[size_arr] और brr[size_brr] दोनों सरणियों के आकार की गणना करेंगे और एक तीसरे सरणी को परिभाषित करेंगे जिसका आकार दोनों सरणियों के आकार का योग है final[size_arr+size_brr]।
-
फिर हम मर्ज (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