what is an abstract data type
Abstract Data type (ADT) is a type (or class) for objects whose behaviour is
defined by a set of value and a set of operations.
The definition of ADT only mentions what operations are to be performed
but not how these operations will be implemented