队列的实现
同栈一样,队列也可以用顺序表或者链表实现。
操作
- Queue() 创建一个空的队列
- enqueue(item) 往队列中添加一个item元素
- dequeue() 从队列头部删除一个元素
- is_empty() 判断一个队列是否为空
- size() 返回队列的大小
class Queue(object): '''队列,先进先出''' def __init__(self): self.__list = [] def enqueue(self, item): '''从一端添加元素''' self.__list.append(item) def dequeue(self): '''从另一端添加元素''' return self.__list.pop(0) def is_empty(self): '''判断是否为空''' return self.__list == [] def length(self): '''获取队列的长度''' return len(self.__list) if __name__ == '__main__': q = Queue() q.enqueue(1) q.enqueue(2) q.enqueue(3) q.enqueue(4) print(q.dequeue()) print(q.dequeue()) print(q.dequeue()) print(q.length()) print(q.is_empty())
运行结果:
/home/longhui/Desktop/数据结构与算法/venv/bin/python /home/longhui/Desktop/数据结构与算法/venv/MyCode/5_queue/my_queue.py 1 2 3 1 False Process finished with exit code 0