先进者先出,后进者后出,这就是典型的“队列”。队列跟栈一样,也是一种操作受限的线性表数据结构。队列最基本的操作就是入队(添加一个数据到队列尾部)和出队(从队列取一个元素)。用数组实现的队列叫顺序队列,用链表实现的队列叫链式队列。
链式队列的结点结构
1 | class Node(object): |
链式队列类
队列需要两个指针:一个是_head指针,指向队头;一个是tail指针,指向队尾。1
2
3
4
5class LinkedQueue(object):
def __init__(self, _head=None, _tail=None):
self._head = _head
self._tail = _tail
入队操作:
1 | def enqueue(self, value): |
出队操作:
1 | def pop(self): |