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

सी ++ प्रोग्राम में डबल एंडेड प्राथमिकता कतार

इस ट्यूटोरियल में, हम c++ में सेट का उपयोग करके एक डबल-एंडेड प्राथमिकता कतार बनाने जा रहे हैं।

आइए एक डबल-एंडेड क्यू बनाने के चरणों को देखें।

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

  • सेट का उपयोग करके कतार के लिए एक चर बनाएँ।

  • आकार विधि जो कतार का आकार लौटाती है।

  • खाली है विधि जो लौटाती है कि कतार खाली है या नहीं।

  • सम्मिलित करें कतार में एक नया तत्व डालने की विधि।

  • 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. सी ++ में डबल लिंक्ड सूची का उपयोग कर प्राथमिकता कतार

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

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

    हमें n प्रक्रियाओं की संख्या दी गई है अर्थात P1, P2, P3, ……,Pn उनके संगत बर्स्ट समय और प्रत्येक प्रक्रिया से जुड़ी प्राथमिकताओं के साथ। कार्य प्राथमिकता सीपीयू शेड्यूलिंग एल्गोरिदम का उपयोग करके औसत प्रतीक्षा समय, औसत टर्नअराउंड समय और प्रक्रिया निष्पादन का क्रम खोजना है। प्रतीक्षा समय और टर्नअराउं

  1. डबल इंटीग्रेशन की गणना करने के लिए C++ प्रोग्राम

    हमें चर 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