मोरोन / आर्यभट्ट सही है, लेकिन थोड़ा और विस्तार सहायक हो सकता है।
कतार और स्टैक उच्च स्तर के कंटेनरों की तुलना में डेक्स, वेक्टर, या सूची में हैं। इसके द्वारा, मेरा मतलब है कि आप निचले स्तर के कंटेनरों से एक कतार या स्टैक बना सकते हैं।
उदाहरण के लिए:
std::stack<int, std::deque<int> > s;
std::queue<double, std::list<double> > q;
अंतर्निहित कंटेनर के रूप में एक deque का उपयोग करके एक स्टैक का निर्माण करेंगे और अंतर्निहित कंटेनर के रूप में एक सूची का उपयोग करके डबल्स की एक कतार।
आप sएक प्रतिबंधित डीके के qरूप में और एक प्रतिबंधित सूची के रूप में सोच सकते हैं ।
यह आवश्यक है कि निचले स्तर के कंटेनर उच्च स्तर के कंटेनर द्वारा आवश्यक तरीकों को लागू करें। ये हैं back(), push_back()और pop_back()ढेर के लिए और front(), back(), push_back(), और pop_front()कतार के लिए।
अधिक विस्तार के लिए स्टैक और कतार देखें ।
छल के संबंध में, यह एक कतार से बहुत अधिक है जहाँ आप दोनों सिरों को सम्मिलित कर सकते हैं। विशेष रूप से, इसमें यादृच्छिक पहुंच है operator[]। यह इसे एक वेक्टर की तरह बनाता है, लेकिन एक वेक्टर जहां आप सम्मिलित कर सकते हैं और शुरुआत में इसे हटा सकते हैं push_front()और pop_front()।
देखें Deque विस्तार के लिए।
stackऔरqueueसिर्फdequeअपनी पूरी सुविधा से प्रतिबंधित है।