A queue data type is a list with some restrictions to the effect that the inserting operation (enqueue) can only be performed from one side (called the back) and the removing operation (dequeue) can only be performed from the other side (called the front). Similar to the Stack
data type, we can develop the Queue
data type by using the LinkedList
data type. For the Enqueue()
operation, we can adopt the InsertTail()
operation in the LinkedList
data type since we are going to insert an element from the back, which is similar to the Tail
node in the LinkedList
data type. Also, for the Dequeue()
operation, we will use the implementation of the RemoveHead()
operation in the LinkedList
data type. The Queue
data type is also known as the First In First Out (FIFO) data type since the element that is inserted from the back of Queue
will travel to the front side before it can be removed. Let's take a look at the following diagram showing the queue:
As we can see in the preceding...