Stack (C++)
From HandWiki
A stack is a standard C++ container adapter, designed to be used in a LIFO context,[1] and is implemented with an interface/wrapper to the type passed to it as a template argument, which defaults to a deque.[2] It is so simple, that it can be described with just a sample interface:[3]
C++ Standard Library |
---|
Containers |
C standard library |
template<class T, Class C = deque<T> > class std::stack { protected: C c; public: typedef typename C::value_type value_type; typedef typename C::size_type size_type; typedef C container_type; explicit stack(const C& a = C()) : c(a){} // Inherit the constructor bool empty() const { return c.empty(); } size_type size() const { return c.size(); } value_type& top() const { return c.back(); } const value_type& top() const { return c.back(); } void push(const value_type& n) { c.push_back(n); } void pop() { c.pop_back(); } };
Overview of Functions
Function | Description | |
---|---|---|
Element Access | top | Get a reference to the top element of the stack, does not pop it |
Modifiers | push | Push an element onto the stack |
pop | Pop off the top element of the stack | |
Size | size | Get number of elements |
References
- ↑ "stack - C++ Reference". cplusplus.com. http://www.cplusplus.com/reference/stack/stack/. Retrieved 25 April 2013.
- ↑ Stroustrup, Bjarne (1997). C++ Programming Language. Addison-Wesley. pp. 475–476. ISBN 0201889544. https://archive.org/details/cprogramminglang00stro_0/page/475.
- ↑ Stroustrup, Bjarne (1997). C++ Programming Language. Addison-Wesley. pp. 475. ISBN 0201889544. https://archive.org/details/cprogramminglang00stro_0/page/475.