Stacks are a type of container adaptors with LIFO(Last In First Out) type of work, where a new element is added at one end called the top of the stack and an element is removed from the same end only.
stack::top() top() function is used to reference the top(or the newest) element of the stack.
Syntax :
stackname.top()
Parameters : No value is needed to pass as the parameter.
Return Value: Direct reference to the top element of the stack container.
Examples:
Input : stackname.push(5);
stackname.push(1);
stackname.top();
Output : 1
Input : stackname.push(5);
stackname.push(1);
stackname.push(2);
stackname.top();
Output : 2
Errors and Exceptions
- If the stack container is empty, it causes undefined behaviour
- It has a no exception throw guarantee if the stack is not empty
// CPP program to illustrate // Implementation of top() function #include <iostream> #include <stack> using namespace std; int main() { stack<int> mystack; mystack.push(5); mystack.push(1); mystack.push(2); // Stack top cout << mystack.top(); return 0; } |
Output:
2
Application :
Given a stack of integers, find the sum of the all the integers.
Input : 1, 8, 3, 6, 2 Output: 20
Algorithm
- Check if the stack is empty, if not add the top element to a variable initialised as 0, and pop the top element.
- Repeat this step until the stack is empty.
- Print the final value of the variable.
// CPP program to illustrate // Application of top() function #include <iostream> #include <stack> using namespace std; int main() { int sum = 0; stack<int> mystack; mystack.push(1); mystack.push(8); mystack.push(3); mystack.push(6); mystack.push(2); // Stack becomes 1, 8, 3, 6, 2 while (!mystack.empty()) { sum = sum + mystack.top(); mystack.pop(); } cout << sum; return 0; } |
Output:
20
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 in C++ STL
- stack swap() in C++ STL
- stack push() and pop() in C++ STL
- stack emplace() in C++ STL
- Stack of Pair in C++ STL with Examples
- priority_queue::top() in C++ STL
- 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
- Top 10 Programming Languages for Blockchain Development
- Top 5 IDEs for C++ That You Should Try Once
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : Vik_24

