A queue is another linear data structure, but unlike the stack, in which data was retrieved in a FILO (First in, Last Out) order, a queue adds and retrieves data in a FIFO (First in, First Out) order. There are many examples of queues in every day life; pretty much any place where you wait in line is a queue. "Calls will be handled in the order that they were received" is a queue. Kids leaving the house is a queue. Mostly. Queues have a fairly simple interface - enqueue - dequeue - get front (like peek) - is empty - clear There are variants of the queue data type to handle special circumstances. Deque - a double ended queue. interface is now - add front - add back - get front - get back - remove front - remove back Examples are leaving a grocery line because it is too long, or filling out a form after waiting in line, then getting back to the front. Priority queue items are stored by priority, not by order of arrival. Same interface as the queue, but each item must be comparable to determine the priority. Internal to each priority, acts as a subqueue. Examples are processes in operating system, bording an airplane Which data structure would be best for implementing a queue? A deque? A priority queue?