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

सी ++ मानक टेम्पलेट लाइब्रेरी (एसटीएल) में प्राथमिकता कतार

प्राथमिकता कतार प्राथमिकता वाले तत्वों के संग्रह को संग्रहीत करने के लिए एक सार डेटा प्रकार है जो किसी तत्व को उनकी प्राथमिकताओं के आधार पर सम्मिलित करने और हटाने का समर्थन करता है, अर्थात, पहली प्राथमिकता वाले तत्व को किसी भी समय हटाया जा सकता है। प्राथमिकता कतार तत्वों को उनके स्थान जैसे स्टैक, कतार, सूची, आदि के संबंध में रैखिक फैशन में संग्रहीत नहीं करती है। प्राथमिकता कतार ADT (सार डेटा प्रकार) तत्वों को उनकी प्राथमिकताओं के आधार पर संग्रहीत करता है।

प्राथमिकता कतार निम्नलिखित कार्यों का समर्थन करती है -

आकार () - इसका उपयोग प्राथमिकता कतार के आकार की गणना करने के लिए किया जाता है क्योंकि यह इसमें तत्वों की संख्या लौटाता है।

खाली() - यदि प्राथमिकता कतार खाली है और गलत है तो यह सही है अन्यथा

सम्मिलित करें (तत्व) − नए एलीमेंट को प्रायोरिटी क्यू में डालने के लिए इस्तेमाल किया जाता है

न्यूनतम () - यह तत्व को सबसे छोटे संबद्ध कुंजी मान के साथ लौटाता है और प्राथमिकता कतार खाली होने पर त्रुटि संदेश प्रदर्शित करता है।

निकालें न्यूनतम () - यह न्यूनतम () फ़ंक्शन द्वारा संदर्भित तत्व को हटा देता है।

नीचे एक तालिका दी गई है जो प्राथमिकता कतार पर संचालन के प्रभाव को दर्शाती है

सी ++ मानक टेम्पलेट लाइब्रेरी (एसटीएल) में प्राथमिकता कतार

Start
Step 1-> Declare function to display the elements in a Priority Queue
   void display(priority_queue <int> Pq)
   declare and set priority_queue <int> que = Pq
   Loop While (!que.empty())
      call que.top()
      call que.pop()
   End
Step 2-> In main()
Create object of priority_queue <int> Pq
   Call push() to insert element in a priority queue as Pq.push(1)
   Call display(Pq)
   Call to check the size of a priority queue Pq.size()
   Call to display the top element of a priority queue Pq.top()
   Call to remove the elements of a priority queue Pq.pop()
   Call display(Pq)
Stop

उदाहरण

#include <iostream>
#include <queue>
using namespace std;
void display(priority_queue <int> Pq) {
   priority_queue <int> que = Pq;
   while (!que.empty()) {
      cout << '\t' << que.top();
      que.pop();
   }
   //cout << '\n';
}
int main () {
   priority_queue <int> Pq;
   Pq.push(1);
   Pq.push(3);
   Pq.push(5);
   Pq.push(7);
   Pq.push(9);
   cout << "The priority queue is : ";
   display(Pq);
   cout << "\nPrioriy queue size using size() : " << Pq.size();
   cout << "\nFirst element of priority queue using top(): " << Pq.top();
   cout << "\nremoving element using pop() : ";
   Pq.pop();
   display(Pq);
   return 0;
}

आउटपुट

The priority queue is : 9 7 5 3 1
Prioriy queue size using size() : 5
First element of priority queue using top(): 9
removing element using pop() : 7 5 3 1

  1. सी/सी++ में प्राथमिकता कतार परिचय

    एक प्राथमिकता कतार एक प्रकार की कतार है जिसमें तत्वों को उन्हें सौंपी गई प्राथमिकताओं के अनुसार डाला या हटा दिया जाता है जहां प्राथमिकता एक पूर्णांक मान है जो 0-10 के बीच हो सकता है जहां 0 तत्व को सर्वोच्च प्राथमिकता के साथ दिखाता है और 10 तत्व को दिखाता है सबसे कम प्राथमिकता। प्राथमिकता कतार को लाग

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

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

  1. C++ में मानक पुस्तकालय क्या हैं?

    C++ प्रोग्रामिंग भाषा में, C++ मानक पुस्तकालय कक्षाओं और कार्यों का एक संग्रह है, जो मूल भाषा और स्वयं C++ ISO मानक के हिस्से में लिखे गए हैं। सी ++ मानक पुस्तकालय कई सामान्य कंटेनर प्रदान करता है, इन कंटेनरों का उपयोग और हेरफेर करने के लिए कार्य करता है, फ़ंक्शन ऑब्जेक्ट्स, जेनेरिक स्ट्रिंग्स और स्