इस लेख में हम चर्चा करेंगे कि कैसे हम 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