Stacks are a type of container adaptors with LIFO(Last In First Out) type of working, where a new element is added at one end and (top) an element is removed from that end only.
The functions associated with stack are:
empty() – Returns whether the stack is empty – Time Complexity : O(1)
size() – Returns the size of the stack – Time Complexity : O(1)
top() – Returns a reference to the top most element of the stack – Time Complexity : O(1)
push(g) – Adds the element ‘g’ at the top of the stack – Time Complexity : O(1)
pop() – Deletes the top most element of the stack – Time Complexity : O(1)
// CPP program to demonstrate working of STL stack #include <bits/stdc++.h> using namespace std; void showstack(stack <int> s) { while (!s.empty()) { cout << '\t' << s.top(); s.pop(); } cout << '\n'; } int main () { stack <int> s; s.push(10); s.push(30); s.push(20); s.push(5); s.push(1); cout << "The stack is : "; showstack(s); cout << "\ns.size() : " << s.size(); cout << "\ns.top() : " << s.top(); cout << "\ns.pop() : "; s.pop(); showstack(s); return 0; } |
The stack is : 1 5 20 30 10 s.size() : 5 s.top() : 1 s.pop() : 5 20 30 10
List of functions of Stack:
- stack::top() in C++ STL
- stack::empty() and stack::size() in C++ STL
- stack::push() and stack::pop() in C++ STL
- stack::swap() in C++ STL
- stack::emplace() in C++ STL
- Recent Articles on C++ Stack
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
Rated as one of the most sought after skills in the industry, own the basics of coding with our C++ STL Course and master the very concepts by intense problem-solving.
Recommended Posts:
- stack empty() and stack size() in C++ STL
- Sort a stack using a temporary stack
- stack swap() in C++ STL
- stack top() in C++ STL
- stack push() and pop() in C++ STL
- stack emplace() in C++ STL
- Stack of Pair in C++ STL with Examples
- Stack Unwinding in C++
- Design a stack that supports getMin() in O(1) time and O(1) extra space
- Heap overflow and Stack overflow
- Level order traversal in spiral form | Using one stack and one queue
- Check if the elements of stack are pairwise sorted
- Level order traversal in spiral form using stack and multimap
- Design and Implement Special Stack Data Structure | Added Space Optimized Version
- Sudo Placement[1.3] | Stack Design
- Delete middle element of a stack
- Sort a stack using recursion
- Kruskal's Minimum Spanning Tree using STL in C++
- Dijkstra’s shortest path algorithm using set in STL
- Dijkstra's Shortest Path Algorithm using priority_queue of STL

