首页 > 编程知识 正文

数据结构dequeue和enqueue,数据结构dequeue和enqueue 写Fifo队列

时间:2023-05-04 06:15:24 阅读:237157 作者:4682

Deque

        deque(也称为双端队列)是与队列类似的项的有序集合。它有两个端部,首部和尾部,并且项在集合中保持不变。deque 不同的地方是添加和删除项是非限制性的。可以在前面或后面添加新项。同样,可以从任一端移除现有项。如下展示了一个 Python 数据对象的 deque 。


    deque 抽象数据类型由以下结构和操作定义。如上所述,deque 被构造为项的有序集合,其中项从首部或尾部的任一端添加和移除。下面给出了 deque 操作。Deque() 创建一个空的新 deque。它不需要参数,并返回空的 deque。addFront(item) 将一个新项添加到 deque 的首部。它需要 item 参数 并不返回任何内容。addRear(item) 将一个新项添加到 deque 的尾部。它需要 item 参数并不返回任何内容。removeFront() 从 deque 中删除首项。它不需要参数并返回 item。deque 被修改。removeRear() 从 deque 中删除尾项。它不需要参数并返回 item。deque 被修改。isEmpty() 测试 deque 是否为空。它不需要参数,并返回布尔值。size() 返回 deque 中的项数。它不需要参数,并返回一个整数。


建立一个dequeue.definiton.py文件

class Deque: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def addFront(self, item): self.items.append(item) def addRear(self, item): self.items.insert(0, item) def removeFront(self): return self.items.pop() def removeRear(self): return self.items.pop(0) def size(self): return len(self.items) def list1(self): return self.items

再建立一个dequeue.example文件进行测试

from python_basic_deque.deque_definition import Deque# 新建一个deque队列d = Deque()# 判断队列是否为空print(d.isEmpty())# 在队头添加元素1,并查看该队列d.addFront(1)print(d.list1())# 在队头添加元素2,并查看该队列d.addFront(2)print(d.list1())# 在队头添加元素3,并查看该队列d.addFront(3)print(d.list1())# 在队尾添加元素4,并查看该队列d.addRear(4)print(d.list1())# 在队尾添加元素5,并查看该队列d.addRear(5)print(d.list1())# 队列大小为,判断是否为空print(d.size())print(d.isEmpty())# 移除队头d.removeFront()print(d.list1())# 移除队尾d.removeRear()print(d.list1())

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。