Stack

A LIFO Data Structure that holds elements with three constraints:

A Stack does not care about the underlying data structure, all it cares about is that the data structure behaves in a certain way. Because of this a stack is call a abstract data type.