सी ++ लाइब्रेरी - <कतार>
कतार का परिचय
कतार एक डेटा संरचना है जिसे FIFO (फर्स्ट इन फर्स्ट आउट) संदर्भ में संचालित करने के लिए डिज़ाइन किया गया है। कतार में तत्वों को पीछे के छोर से डाला जाता है और सामने के छोर से हटा दिया जाता है ।
कतार वर्ग कंटेनर एडाप्टर है। कंटेनर एक ऑब्जेक्ट है जो एक ही प्रकार का डेटा रखता है। कतार विभिन्न अनुक्रम कंटेनरों से बनाई जा सकती है। कंटेनर एडेप्टर पुनरावृत्तियों का समर्थन नहीं करते हैं इसलिए हम उन्हें डेटा हेरफेर के लिए उपयोग नहीं कर सकते हैं। हालाँकि वे क्रमशः डेटा प्रविष्टि और विलोपन के लिए पुश () और पॉप () सदस्य कार्यों का समर्थन करते हैं।
परिभाषा
नीचे <कतार> हेडर फ़ाइल से std :: queuer की परिभाषा दी गई है
template <class T, class Container = deque<T> > class queue;
मापदंडों
T - निहित तत्व का प्रकार।
टी को उपयोगकर्ता-परिभाषित प्रकार सहित किसी अन्य डेटा प्रकार द्वारा प्रतिस्थापित किया जा सकता है।
Container - अंतर्निहित कंटेनर वस्तु का प्रकार।
सदस्य प्रकार
निम्नलिखित सदस्य प्रकारों को पैरामीटर के रूप में उपयोग किया जा सकता है या सदस्य कार्यों द्वारा वापसी प्रकार का उपयोग किया जा सकता है।
अनु क्रमांक। | सदस्य प्रकार | परिभाषा |
---|---|---|
1 | मान प्रकार | टी (टेम्पलेट का पहला पैरामीटर) |
2 | container_type | टेम्पलेट का दूसरा पैरामीटर |
3 | आकार प्रकार | size_t |
4 | संदर्भ | मान प्रकार& |
5 | const_reference | const value_type और |
6 | difference_type | ptrdiff_t |
<कतार> से कार्य
नीचे <कतार> शीर्ष लेख से सभी विधियों की सूची दी गई है।
कंस्ट्रक्टर्स
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | कतार :: कतार डिफ़ॉल्ट निर्माता शून्य तत्वों के साथ एक खाली कतार वस्तु का निर्माण करता है। |
2 | कतार :: कतार प्रारंभिक निर्माता एक कतार ऑब्जेक्ट का निर्माण करता है और आंतरिक कंटेनर को ctnr की एक कॉपी द्वारा असाइन करता है । |
3 | कतार :: कतार चाल निर्माणकर्ता चाल शब्दार्थ का उपयोग करके अन्य की सामग्री के साथ कतार का निर्माण करता है। |
4 | कतार :: कतार प्रतिलिपि निर्माता निर्माणों प्रत्येक तत्वों की प्रति के साथ एक कतार कतार मौजूदा में मौजूद अन्य । |
नाशक
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | कतार :: ~ कतार कंटेनर मेमोरी को हटाकर कतार को नष्ट कर देता है। |
सदस्य कार्य
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | कतार :: वापस कतार के अंतिम तत्व का संदर्भ देता है। |
2 | कतार :: क़ायम करना कतार के अंत में नए तत्व का निर्माण और सम्मिलित करता है। |
3 | कतार :: खाली टेस्ट कि कतार खाली है या नहीं। |
4 | कतार :: सामने कतार के पहले तत्व का संदर्भ देता है। |
5 | कतार :: ऑपरेटर = प्रतिलिपि संस्करण पुराने को बदलकर कतार में नई सामग्री असाइन करता है। |
6 | कतार :: ऑपरेटर = चाल संस्करण पुराने को बदलकर कतार में नई सामग्री असाइन करता है। |
7 | कतार :: पॉप कतार का अग्र तत्व निकालता है। |
8 | कतार :: पुश कॉपी संस्करण कतार के अंत में नया तत्व सम्मिलित करता है। |
9 | कतार :: पुश चाल संस्करण कतार के अंत में नया तत्व सम्मिलित करता है। |
10 | कतार :: आकार कतार में मौजूद तत्वों की कुल संख्या लौटाता है। |
1 1 | कतार :: स्वैप किसी अन्य कतार की सामग्री के साथ कतार की सामग्री का आदान-प्रदान करता है। |
गैर-सदस्य अतिभारित कार्य
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | ऑपरेटर == टेस्ट कि क्या दो कतारें बराबर हैं या नहीं। |
2 | ऑपरेटर! = टेस्ट कि क्या दो कतारें बराबर हैं या नहीं। |
3 | ऑपरेटर < टेस्ट कि पहली कतार अन्य की तुलना में कम है या नहीं। |
4 | ऑपरेटर <= टेस्ट कि पहली कतार अन्य की तुलना में कम है या बराबर है या नहीं। |
5 | ऑपरेटर> टेस्ट कि पहली कतार अन्य की तुलना में अधिक है या नहीं। |
6 | ऑपरेटर> = परीक्षण कि क्या पहली कतार अन्य की तुलना में अधिक या बराबर है या नहीं। |
7 | विनिमय दो कतारों की सामग्री का आदान-प्रदान करता है। |
प्राथमिकता_के लिए परिचय
प्राथमिकता कतार कतार डेटा संरचना है जो प्राथमिकता रखती है। प्राथमिकता कतार डेटा संरचना को ढेर करने के लिए अनुरूप है जहां तत्व को किसी भी क्रम में डाला जा सकता है और हमेशा अधिकतम हीप तत्व पहले पुनर्प्राप्त किया जाता है।
परिभाषा
नीचे <कतार> हेडर फ़ाइल से std :: प्रायोरिटी_क्व्यू की परिभाषा दी गई है
template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;
मापदंडों
T - निहित तत्व का प्रकार।
टी को उपयोगकर्ता-परिभाषित प्रकार सहित किसी अन्य डेटा प्रकार द्वारा प्रतिस्थापित किया जा सकता है।
Container - अंतर्निहित कंटेनर वस्तु का प्रकार।
Compare - प्राथमिकता वस्तु को प्राथमिकता के लिए प्रयोग किया जाता है।
यह एक फ़ंक्शन पॉइंटर या फ़ंक्शन ऑब्जेक्ट हो सकता है जो इसके दो तर्कों की तुलना कर सकता है।
सदस्य प्रकार
निम्नलिखित सदस्य प्रकारों को पैरामीटर के रूप में उपयोग किया जा सकता है या सदस्य कार्यों द्वारा वापसी प्रकार का उपयोग किया जा सकता है।
अनु क्रमांक। | सदस्य प्रकार | परिभाषा |
---|---|---|
1 | मान प्रकार | टी (टेम्पलेट का पहला पैरामीटर) |
2 | container_type | टेम्पलेट का दूसरा पैरामीटर |
3 | आकार प्रकार | size_t |
4 | संदर्भ | मान प्रकार& |
5 | const_reference | const value_type और |
6 | difference_type | ptrdiff_t |
<कतार> से कार्य
नीचे <कतार> शीर्ष लेख से सभी विधियों की सूची दी गई है।
कंस्ट्रक्टर्स
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | priority_queue :: priority_queue डिफ़ॉल्ट निर्माता शून्य तत्व के साथ एक खाली प्राथमिकता_का निर्माण करता है। |
2 | प्रायोरिटी_क्व्यू :: प्राथमिकता_क्व्यू कंस्ट्रक्टर को इनिशियलाइज़ करता है Ctnr की एक कॉपी द्वारा एक प्राथमिकता_केय वस्तु का निर्माण करता है और आंतरिक कंटेनर को नियत करता है । |
3 | प्रायोरिटी_क्व्यू :: प्राथमिकता_क्व्यू रेंज कंस्ट्रक्टर पहले से आखिरी तक की श्रेणी में कई तत्वों के साथ एक प्राथमिकता_ का निर्माण करता है। |
4 | प्रायोरिटी_क्व्यू :: प्राथमिकता_क्व्यू मूव कंस्ट्रक्टर चाल शब्दार्थों का उपयोग करके अन्य की सामग्री के साथ प्राथमिकता_का निर्माण करता है। |
5 | प्रायोरिटी_केव्यू :: प्रायोरिटी_क्व्यू कॉपी कंस्ट्रक्टर मौजूदा प्राथमिकता_के अन्य में मौजूद प्रत्येक तत्वों की प्रतिलिपि के साथ प्राथमिकता प्राथमिकता का निर्माण करता है। |
नाशक
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | priority_queue :: ~ priority_queue कंटेनर मेमोरी को डीलिट करके प्राथमिकता_के को नष्ट कर देता है। |
सदस्य कार्य
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | priority_queue :: क़ायम करना प्राथमिकताएँ_लेख में क्रमबद्ध क्रम में नए तत्व का निर्माण और सम्मिलित करता है। |
2 | priority_queue :: खाली परीक्षण कि क्या pritority_queue खाली है या नहीं। |
3 | प्राथमिकता_करना :: ऑपरेटर = प्रतिलिपि संस्करण पुराने के स्थान पर प्राथमिकता_के लिए नई सामग्री असाइन करता है। |
4 | प्राथमिकता_करना :: ऑपरेटर = चाल संस्करण पुराने के स्थान पर प्राथमिकता_के लिए नई सामग्री असाइन करता है। |
5 | priority_queue :: पॉप प्राथमिकता_के आगे के तत्व को हटाता है। |
6 | प्रायोरिटी_क्व्यू :: कॉपी कॉपी वर्जन नए तत्व को क्रमबद्ध क्रम में सम्मिलित करता है। |
7 | प्रायोरिटी_एक्यू :: पुश मूव वर्जन नए तत्व को क्रमबद्ध क्रम में सम्मिलित करता है। |
8 | priority_queue :: आकार प्राथमिकता में मौजूद तत्वों की कुल संख्या लौटाता है। |
9 | priority_queue :: स्वैप अन्य प्राथमिकता की सामग्री के साथ प्राथमिकता_के की सामग्री का आदान-प्रदान करता है। |
10 | priority_queue :: शीर्ष प्राथमिकता_के पहले तत्व का संदर्भ देता है |
गैर-सदस्य अतिभारित कार्य
अनु क्रमांक। | विधि और विवरण |
---|---|
1 | विनिमय अन्य प्राथमिकता की सामग्री के साथ प्राथमिकता_के की सामग्री का आदान-प्रदान करता है। |