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

C++ में प्रत्येक प्रविष्टि के बाद Kth सबसे छोटा तत्व

इस ट्यूटोरियल में, हम k-th . खोजने जा रहे हैं प्रत्येक प्रविष्टि के बाद सबसे छोटा तत्व।

हम समस्या को हल करने के लिए मिन-हीप का उपयोग करने जा रहे हैं। आइए कार्यक्रम को पूरा करने के चरणों को देखें।

  • यादृच्छिक डेटा के साथ सरणी प्रारंभ करें।
  • प्राथमिकता कतार प्रारंभ करें।
  • k - 1 तक कोई k-th नहीं होगा सबसे छोटा तत्व। इसलिए, अपनी पसंद का कोई भी प्रतीक प्रिंट करें।
  • एक लूप लिखें जो k + 1 से n तक पुनरावृत्त हो।
    • मिन-हीप की जड़ प्रिंट करें।
    • अगर एलिमेंट मिन-हीप के रूट से बड़ा है, तो रूट को पॉप करें और एलीमेंट डालें।

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;
void findKthSmallestElement(int elements[], int n, int k) {
   priority_queue<int, vector<int>, greater<int>> queue;
   for (int i= 0; i < k - 1; i++) {
      queue.push(elements[i]);
      cout << "- ";
   }
   queue.push(elements[k-1]);
   for (int i = k; i < n; i++) {
      cout << queue.top() << " ";
      if (elements[i] > queue.top()) {
         queue.pop();
         queue.push(elements[i]);
      }
   }
   cout << queue.top() << endl;
}
int main() {
   int arr[] = {3, 5, 6, 2, 7, 8, 2, 3, 5, 9};
   findKthSmallestElement(arr, 10, 5);
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

- - - - 2 3 3 3 5 5

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. C++ में बाइनरी इंसर्शन सॉर्ट करें

    बाइनरी इंसर्शन सॉर्ट एक विशेष प्रकार का इंसर्शन सॉर्ट है जो सरणी में सम्मिलित तत्व की सही स्थिति का पता लगाने के लिए बाइनरी सर्च एल्गोरिथम का उपयोग करता है। इंसर्शन सॉर्ट सॉर्टिंग तकनीक है जो ऐरे में एलीमेंट की सही स्थिति का पता लगाकर और फिर उसे उसकी सही स्थिति में इंसर्ट करके काम करती है। द्विआधा

  1. सी ++ में सरणी में प्रत्येक तत्व के लिए निकटतम मान पाएं

    यहां हम देखेंगे कि किसी सरणी में प्रत्येक तत्व के लिए निकटतम मान कैसे प्राप्त करें। यदि किसी तत्व x में अगला तत्व है जो उससे बड़ा है, और सरणी में भी मौजूद है, तो वह उस तत्व का अधिक मूल्य होगा। यदि तत्व मौजूद नहीं है, तो -1 लौटाएं। मान लीजिए कि सरणी तत्व [10, 5, 11, 6, 20, 12] हैं, तो बड़े तत्व [11,

  1. सी++ प्रोग्राम सरणी को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए

    हम एरे को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए एक C++ प्रोग्राम विकसित करेंगे। एल्गोरिदम Begin    Function CreatePartition() has an array a, and the lower l and upper limit h as arguments    in := l and pi := h    for i in range l to h, do