A stack keeps
track of what is executing and contains stored value types to be accessed and
processed as Last In First Out, with elements both inserted and deleted from
the top end.
A queue lists
items on a First In First Out basis in terms of both insertion and deletion,
with the developer inserting items from the rear end and deleting items from
the front end of the queue.
A heap contains
stored reference types and is responsible for keeping track of more precise
objects.