priority queue stl
एसटीएल में प्राथमिकता कतार में एक गहराई से देखें।
इस स्पष्ट सी ++ श्रृंखला में, हमने पिछले ट्यूटोरियल में ढेर और कतारें देखी हैं।
इस ट्यूटोरियल में, हम एसटीएल में एक और विशिष्ट कंटेनर, अर्थात् प्राथमिकता कतार पर चर्चा करेंगे।
विंडोज़ पर एपीके फाइलें कैसे खोलें
एक प्राथमिकता कतार एसटीएल में एक कंटेनर गोद लेने वाला है। एक प्राथमिकता कतार एक कंटेनर है जिसमें तत्वों को गैर-घटते क्रम में व्यवस्थित किया जाता है जैसे कि पहला तत्व हमेशा कतार में सबसे बड़ा तत्व होता है।
=> संपूर्ण C ++ ट्यूटोरियल सूची के लिए यहां जाएं।
आप क्या सीखेंगे:
अवलोकन
एफआईएफओ के आदेश के अनुसार तत्व को धक्का देने और पॉप करने वाली सामान्य कतार के विपरीत, प्राथमिकता कतार में गैर-घटते क्रम में तत्व होते हैं और प्रत्येक तत्व के लिए प्राथमिकता (निश्चित क्रम) होती है।
प्राथमिकता कतार को C ++ में 'अधिकतम हीप' डेटा संरचना के समान तरीके से देखा जा सकता है।
प्राथमिकता कतार का सामान्य सिंटैक्स है:
सॉफ्टवेयर परीक्षण में उपयोगकर्ता स्वीकृति परीक्षण क्या है
priority_queue queue_name;
इसलिए यदि हम प्रकार int की प्राथमिकता कतार को परिभाषित करना चाहते हैं, तो हम इसे इस प्रकार परिभाषित कर सकते हैं:
priority_queue mypqueue;
प्राथमिकता कतार - संचालन
नीचे प्राथमिकता कतार द्वारा समर्थित संचालन देखते हैं।
- धक्का दें: एक तत्व को प्राथमिकता कतार में सम्मिलित करता है। तत्वों को सम्मिलित करते समय, तत्वों की प्राथमिकता बनाए रखी जाती है।
- पॉप: प्राथमिकता कतार से सबसे ऊपरी तत्व निकालता है।
- ऊपर: प्राथमिकता कतार में सबसे ऊपर का तत्व लौटाता है यानी प्राथमिकता कतार में सबसे बड़ा तत्व।
- खाली: जाँच करता है कि प्राथमिकता कतार खाली है या नहीं।
- आकार: प्राथमिकता कतार का आकार देता है यानी प्राथमिकता कतार में तत्वों की संख्या।
इन कार्यों / कार्यों के उपयोग को प्रदर्शित करने के लिए एक प्रोग्राम लिखते हैं।
#include #include using namespace std; void displaypq(priority_queue pri_queue) { priority_queue pq = pri_queue; while (!pq.empty()) { cout << ' ' << pq.top(); pq.pop(); } cout << '
'; } int main () { priority_queue mypq; mypq.push(1); mypq.push(3); mypq.push(60); cout<<'
Priority queue after inserting value 60: '; displaypq(mypq); mypq.push(5); cout<<'
Priority queue after inserting value 5: '; displaypq(mypq); mypq.push(10); cout << '
The priority queue mypq is : '; displaypq(mypq); cout << '
mypq.size() : ' << mypq.size(); cout << '
mypq.top() : ' << mypq.top(); cout << '
mypq.pop() : '; mypq.pop(); displaypq(mypq); return 0; }
आउटपुट:
मूल्य 60: 60 3 1 डालने के बाद प्राथमिकता कतार
मान 5: 60 5 3 1 डालने के बाद प्राथमिकता कतार
प्राथमिकता कतार mypq है: 60 10 5 3 1
mypq.size (): 5
mypq.top (): 60
mypq.pop (): 10 5 3 1
डाउनलोड यूट्यूब वीडियो के लिए सबसे अच्छा कार्यक्रम
कृपया प्राथमिकता कतार को समझने के लिए आउटपुट को ध्यान से देखें। सबसे पहले, हम 1,3,60 मानों को धक्का देते हैं जैसा कि आउटपुट की पहली पंक्ति में दिखाया गया है। फिर हम प्राथमिकता कतार में मान 5 को धक्का देते हैं। उसके बाद, प्राथमिकता कतार प्रदर्शित की जाती है। ध्यान दें कि मान 5 को 60 के बाद धकेल दिया गया है, लेकिन प्राथमिकता कतार का शीर्ष 60 है।
फिर से हम एक और मूल्य 10 को धक्का देते हैं और फिर भी, प्राथमिकता कतार का शीर्ष 60 है। ऐसा इसलिए है क्योंकि तत्वों को धकेलते समय, तत्वों का क्रम या प्राथमिकता ऐसी बनाए रखी जाती है कि सबसे बड़ा तत्व हमेशा शीर्ष पर होता है।
निष्कर्ष
यह सब एसटीएल में प्राथमिकता कतार कार्यान्वयन के बारे में था। हमारे अगले ट्यूटोरियल में, हम एसटीएल कंटेनरों पर अधिक सीखेंगे जैसे कि नक्शा और सेट।
=> निरपेक्ष सी ++ प्रशिक्षण श्रृंखला के लिए यहां क्लिक करें।
अनुशंसित पाठ
- चित्रण के साथ C ++ में प्राथमिकता कतार डेटा संरचना
- एसटीएल में ढेर और कतारें
- एसटीएल में एमएपीएस
- एसटीएल में सूची
- एसटीएल में सेट करें
- कतार डेटा संरचना चित्रण के साथ C ++ में
- STL में Iterators
- एसटीएल में गिरफ्तारी