A stack is a collection of elements in which the most recent element can be removed It uses the LIFO(last in first out) concept. The last item to enter the stack is the first item to leave the stack. It can be modelled using a list and the main operations that can be done are POP and PUSH in this case POP and APPEND. Stacks are used in real life to build the UNDO and REDO functions where the steps of the user are stored in a stack and the last step can be retraced. like in microsoft word undo and redo function.