Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ STL में std::merge() का उपयोग करके दो सॉर्टेड ऐरे को तेजी से मर्ज करना


इस लेख में हम चर्चा करेंगे कि कैसे हम C++ STL में std::merge() फ़ंक्शन का उपयोग करके दो सॉर्टेड ऐरे को तेजी से मर्ज कर सकते हैं।

तो, समस्या को हल करने से पहले आइए पहले C++ STL में std::merge() पर चर्चा करें।

std::merge() क्या है?

std::merge() फ़ंक्शन C++ STL में एक अंतर्निहित फ़ंक्शन है, जिसे <algorithm> हेडर फ़ाइल में परिभाषित किया गया है। merge() का उपयोग दो सॉर्टेड रेंज या सीरीज को मर्ज करने के लिए किया जाता है। यह फ़ंक्शन दो सॉर्टेड रेंज को मिलाकर एक सिंगल सॉर्टेड रेंज बनाता है। सभी तत्वों की तुलना लेस दैन ऑपरेटर (<) का उपयोग करके की जाती है ताकि तीसरी रेंज भी अपने आप सॉर्ट हो जाए।

std::merge() का उपयोग करके दो सॉर्टेड ऐरे को तेजी से कैसे मर्ज करें?

हमें दो सॉर्टेड ऐरे दिए गए हैं जो arr1[] और arr2[] हैं और कार्य उन दो सॉर्टेड ऐरे को मर्ज करना है और इसे एक अन्य खाली ऐरे में स्टोर करना है जो arr3[] हो सकता है, merge() फ़ंक्शन का उपयोग करके जो C++ STL में उपलब्ध है।

  • सबसे पहले हम दोनों ऐरे का आकार 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 << "तत्वों को मर्ज करने के बाद अंतिम ऐरे है: ";
    for (int i = 0; i < (size_brr + size_arr); i++)
        cout << final[i] << " ";
    return 0;
}

आउटपुट

तत्वों को मर्ज करने के बाद अंतिम ऐरे है: 1 2 3 4 5 6
  1. - C# में दो सॉर्टेड ऐरे को मर्ज करना

    दो सॉर्टेड ऐरे को मर्ज करना दो सॉर्टेड ऐरे को मर्ज करने के लिए, पहले दो सॉर्टेड ऐरे सेट करें: int[] array1 = { 1, 2 }; int[] array2 = { 3, 4 }; अब इन्हें एक लिस्ट में जोड़कर मर्ज करें: var list = new List<int>(); for (int i = 0; i < array1.Length; i++) { list.Add(array1[i]); li

  1. - C# में दो सॉर्टेड ऐरे को लिस्ट में मर्ज करना

    दो सॉर्टेड ऐरे को लिस्ट में मर्ज करना दो सॉर्टेड ऐरे सेट करें: int[] array1 = { 1, 2 }; int[] array2 = { 3, 4 }; लिस्ट में जोड़कर मर्ज करें: var list = new List<int>(); for (int i = 0; i < array1.Length; i++) { list.Add(array1[i]); list.Add(array2[i]); } ToArray() से वापस ऐरे

  1. - पायथन में heapq का उपयोग करके दो सॉर्टेड ऐरे को मर्ज करना

    इस खंड में हम देखेंगे कि heapq मॉड्यूल का उपयोग करके पायथन में दो सॉर्टेड सूचियों को कैसे मर्ज किया जा सकता है। उदाहरण के लिए, यदि list1 = [10, 20, 30, 40] और list2 = [100, 200, 300, 400, 500], तो मर्ज करने के बाद यह list3 = [10, 20, 30, 40, 100, 200, 300, 400, 500] लौटाएगा। इस कार्य को करने के लिए