This is an explanation of the dynamic data structure known as a queue. It compares a linear queue implemented by means of a dynamic array with a linear queue implemented with a static array. It also includes an explanation of how a circular queue works, along with pseudocode for the enqueue and dequeue operations of a circular queue.