What is a double-ended queue (Deque)?

What is a double-ended queue (Deque)?

Approach: Define queue with two-sided operations.

An abstract data type that generalizes a queue, for which elements can be added to or removed from either the front or the back.

Follow-up: Can a Deque be used as a stack?

Key concepts: insertion, deletion, head/tail.