队列(queue)
队列是只允许在一端进行插入操作,在另外一段进行删除操作的线性表
队列不允许在中间部位进行操作
先进先出(First In First Out)
enqueue端 添加元素
dequeue端 删除元素
以下是 : 单向队列用 顺序表 实现(链表也可以)
- Queue() 创建一个空的队列
- enqueue(item) 往队列中添加一个item元素
- dequeue() 从队列头部删除一个元素
- is_empty() 判断一个队列是否为空
- size() 返回队列的大小
class Queue(object): ‘‘‘队列‘‘‘ def __init__(self): self.items = [] def is_empty(self): return not self.items def enqueue(self,item): ‘‘‘进队列‘‘‘ self.items.insert(0,item) # 用insert 一直往头部添加 先进去的 就会挤到后面 # pop()默认弹出最后一个元素 #O(n) def dequeue(self): ‘‘‘出队列‘‘‘ return self.items.pop() def size(self): ‘‘‘队列大小‘‘‘ return len(self.items) if __name__ == "__main__": q = Queue() q.enqueue("Python") q.enqueue("chan") q.enqueue("Linkin") print(q.size()) print(q.dequeue()) print(q.dequeue()) print(q.dequeue())
原文地址:https://www.cnblogs.com/devlost/p/9551789.html
时间: 2024-11-05 15:56:50