Stack is a linear data structure which follows a particular order in which the operations are performed. The order may be LIFO(Last In First Out) or FILO(First In Last Out).
Mainly the following three basic operations are performed in the stack:
Adds an item in the stack. If the stack is full, then it is said to be an Overflow condition.
Removes an item from the stack. The items are popped in the reversed order in which they are pushed. If the stack is empty, then it is said to be an Underflow condition.
Returns true if stack is empty, else false.
- can be increase/decrease the number of nodes (dynamic allocation)
- can use multiple data types as elements
- so basically its advanced than arrays.
- consumes more memory than arrays
- need to clear memory once we done with it.
- handling pointers is a bit tricky compared to arrays.. (but its needed for real time usage)