A Neat Linked Queue with the Rear Blank Node
We introduce a very simple queue implementation with the singly linked list. With the help of the rear blank node instead of the usual header node, we avoid additional check steps for the dequeue operation in the traditional implementations existing for many decades. The essence of our representation is the half-opened pointer interval with the same direction of the queue operations, which can guarantee the uniform treatment even in the empty queue case. The simplification of queue implementations cuts off unnecessary steps, and it minimizes the number of steps in the dequeue operation with the time limitation of enqueue operation, which could contribute to the performance of the real-time systems. We extend the linked queue to the circularly linked queue, which can also be used to implement stack and take advantage of the maximal information of the single direction in the circularly linked list, and it actually constructs the output-restricted deque. We also present a variant: lazy circularly linked queue, which is more efficient in some special cases, especially for the dequeue operations.