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

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


इस ट्यूटोरियल में, हम प्रत्येक सम्मिलन के बाद kवां सबसे छोटा तत्व ढूंढेंगे।

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

  • यादृच्छिक डेटा के साथ सरणी इनिशियलाइज़ करें।
  • प्रायोरिटी क्यू इनिशियलाइज़ करें।
  • k - 1 तक कोई kवां सबसे छोटा तत्व नहीं होगा। इसलिए, आप जो चाहें वह प्रतीक प्रिंट करें।
  • एक लूप लिखें जो 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. - C++ प्रोग्राम: सरणी में प्रत्येक तत्व के लिए निकटतम बड़ा मान ज्ञात करना

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

  1. - C++ प्रोग्राम: सरणी के पार्टीशन विधि से kवां सबसे छोटा तत्व खोजें

    एल्गोरिदमCreatePartition() फ़ंक्शन बनाएं जिसमें सरणी a, निचली सीमा l और ऊपरी सीमा h हो। in := l और pi := h सेट करें। l से h तक लूप चलाएं, यदि a[i] < a[pi] तो a[i] और a[in] को स्वैप करें और in बढ़ाएं। अंत में a[pi] और a[in] को स्वैप करें और in लौटाएं। Partition() फ़ंक्शन में: यदि low k-1 तो Partitio