Queue Abstraction

Abstraction of the Queue logic