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

C++ STL में प्राथमिकता कतार (Priority Queue)


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

प्राथमिकता कतार निम्नलिखित फ़ंक्शन का समर्थन करती है −

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

Empty() − यदि प्राथमिकता कतार खाली है तो यह true लौटाता है और अन्यथा false

Insert(element) − प्राथमिकता कतार में नया तत्व सम्मिलित करने के लिए उपयोग किया जाता है

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

removeMin()− यह min() फ़ंक्शन द्वारा संदर्भित तत्व को हटा देता है।

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

C++ STL में प्राथमिकता कतार (Priority Queue)

शुरुआत चरण 1-> प्राथमिकता कतार में तत्वों को प्रदर्शित करने के लिए फ़ंक्शन घोषित करें    void display(priority_queue <int> Pq)    priority_queue <int> que = Pq घोषित करें और सेट करें    लूप जब तक (!que.empty())       que.top() कॉल करें       que.pop() कॉल करें    अंत चरण 2-> main() में priority_queue <int> Pq का ऑब्जेक्ट बनाएं    push() कॉल करके प्राथमिकता कतार में तत्व सम्मिलित करें जैसे Pq.push(1)    display(Pq) कॉल करें    प्राथमिकता कतार के आकार की जांच के लिए Pq.size() कॉल करें    प्राथमिकता कतार के शीर्ष तत्व को प्रदर्शित करने के लिए Pq.top() कॉल करें    प्राथमिकता कतार के तत्वों को हटाने के लिए Pq.pop() कॉल करें    display(Pq) कॉल करें रुकें

उदाहरण

#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 << "प्राथमिकता कतार है : ";    display(Pq);    cout << "\nsize() का उपयोग करके प्राथमिकता कतार का आकार : " << Pq.size();    cout << "\nशीर्ष तत्व top() का उपयोग करके: " << Pq.top();    cout << "\npop() का उपयोग करके तत्व हटाना : ";    Pq.pop();    display(Pq);    return 0; }

आउटपुट

प्राथमिकता कतार है : 9 7 5 3 1 प्राथमिकता कतार का आकार size() का उपयोग करके : 5 शीर्ष तत्व top() का उपयोग करके: 9 pop() का उपयोग करके तत्व हटाना : 7 5 3 1

  1. C/C++ में प्रायोरिटी क्यू (Priority Queue) परिचय C/C++ में प्रायोरिटी क्यू (Priority Queue) परिचय

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

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

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

  1. - C++ में स्टैंडर्ड लाइब्रेरीज़ क्या हैं?

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