Applications of stacks, including function calling, implement discipline to a system. A stack is a special type of data structure that can be viewed as a linear structure acting like a physical stack or pile.
Just like a stack or pile, the deletion or insertion of items can only occur at one point: the top of the stack. This is in line with the concept of LIFO (Last in First Out). This unique structure is applied throughout programming.
- Expression evaluation
- Expression conversion: prefix to infix, postfix to infix, infix to prefix, and infix to postfix
- Argument passing in C
- Solving the Towers of Hanoi puzzle