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

C++ प्रोग्राम में डबल एंडेड प्रायोरिटी क्यू


इस ट्यूटोरियल में, हम C++ में सेट का उपयोग करके डबल-एंडेड प्रायोरिटी क्यू बनाएंगे।

डबल-एंडेड क्यू बनाने के चरण देखते हैं।

  • अपनी इच्छा के नाम से एक स्ट्रक्चर बनाएं।

  • सेट का उपयोग करके क्यू के लिए एक वेरिएबल बनाएं।

  • size मेथड जो क्यू का आकार लौटाता है।

  • is_empty मेथड जो लौटाता है कि क्यू खाली है या नहीं।

  • insert मेथड क्यू में एक नया तत्व डालने के लिए।

  • get_start मेथड जो क्यू के बाएं तरफ से एक तत्व लौटाता है।

  • get_end मेथड जो क्यू के दाएं तरफ से तत्व लौटाता है।

  • delete_start मेथड जो बाएं तरफ से पहला तत्व हटाता है।

  • delete_end मेथड जो दाएं तरफ से पहला तत्व हटाता है।

उदाहरण

कोड देखते हैं।

#include <bits/stdc++.h> using namespace std; struct doubleEndedQueue {    set<int> s;    int size() {       return s.size();    }    string is_empty() {       return s.size() == 0 ? "True" : "False";    }    void insert(int x) {       s.insert(x);    }    int get_start() {       return *(s.begin());    }    int get_end() {       return *(s.rbegin());    }    void delete_start() {       if (s.size() == 0) {          return;       }         s.erase(s.begin());    }    void delete_end() {       if (s.size() == 0) {          return;       }       auto end = s.end();       end--;       s.erase(end);    } }; int main() {    doubleEndedQueue d;    cout << "is empty: " << d.is_empty() << endl;    d.insert(1);    d.insert(2);    d.insert(3);    d.insert(4);    d.insert(5);    cout << "is empty: " << d.is_empty() << endl;    cout << "end: " << d.get_end() << endl;    d.delete_end();    cout << "end: " << d.get_end() << endl;    cout << "start: " << d.get_start() << endl;    d.delete_start();    cout << "start: " << d.get_start() << endl;    return 0; }

आउटपुट

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

is empty: True is empty: False end: 5 end: 4 start: 1 start: 2

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में बताएं।


  1. C++ में डबल लिंक्ड लिस्ट का उपयोग करके प्राथमिकता कतार C++ में डबल लिंक्ड लिस्ट का उपयोग करके प्राथमिकता कतार

    हमें डेटा और प्राथमिकता एक पूर्णांक मान के रूप में दी गई है और कार्य दिए गए प्राथमिकता के अनुसार डबल लिंक्ड लिस्ट बनाना और परिणाम प्रदर्शित करना है।कतार एक FIFO डेटा संरचना है जिसमें पहले डाला गया तत्व सबसे पहले हटाया जाता है। प्राथमिकता कतार एक प्रकार की कतार है जिसमें तत्वों को प्राथमिकता के आधार

  1. C++ में प्रायोरिटी शेड्यूलिंग प्रोग्राम C++ में प्रायोरिटी शेड्यूलिंग प्रोग्राम

    हमें n प्रक्रियाएं P1, P2, P3, ..., Pn दी गई हैं, जिनके साथ उनके बर्स्ट टाइम (burst time) और प्रायोरिटी (priority) जुड़े हुए हैं। कार्य प्रायोरिटी CPU शेड्यूलिंग एल्गोरिदम का उपयोग करके औसत वेटिंग टाइम, औसत टर्नअराउंड टाइम और प्रक्रिया निष्पादन का क्रम ढूंढना है। वेटिंग टाइम और टर्नअराउंड टाइम क्या

  1. C++ प्रोग्राम: दोहरा समाकलन (Double Integration) की गणना C++ प्रोग्राम: दोहरा समाकलन (Double Integration) की गणना

    हमें चर x की निचली सीमा, चर x की ऊपरी सीमा, चर y की निचली सीमा, चर y की ऊपरी सीमा, x के लिए संबंधित चरण और y के लिए संबंधित चरण दिए गए हैं। कार्य दोहरा समाकलन उत्पन्न करना और परिणाम प्रदर्शित करना है। उदाहरण Input: steps for x = 1.2, steps for y = 0.54 lower limit of x = 1.3, upper limit of