Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 63.9MB ·虚拟内存 1300.5MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
当我们等待一项服务时,我们对日常生活中的排队很熟悉。队列数据结构同样意味着数据元素排列在一个队列中。队列的唯一性在于项目添加和删除的方式。这些物品可以放在最后,但从另一端移除。所以这是先进先出的方法。可以使用python list实现队列,我们可以使用insert()和pop()方法添加和移除元素。它们没有插入,因为数据元素总是添加在队列的末尾。
在下面的例子中,我们创建了一个队列类,我们实现了先进先出方法。我们使用内置的插入方法来添加数据元素。
class Queue: def __init__(self): self.queue = list() def addtoq(self,dataval): # Insert method to add element if dataval not in self.queue: self.queue.insert(0,dataval) return True return False def size(self): return len(self.queue) TheQueue = Queue() TheQueue.addtoq("Mon") TheQueue.addtoq("Tue") TheQueue.addtoq("Wed") print(TheQueue.size())
当上面的代码被执行时,它会产生以下结果 -
3
在下面的例子中,我们创建了一个插入数据的队列类,然后使用内置的pop方法删除数据。
class Queue: def __init__(self): self.queue = list() def addtoq(self,dataval): # Insert method to add element if dataval not in self.queue: self.queue.insert(0,dataval) return True return False # Pop method to remove element def removefromq(self): if len(self.queue)>0: return self.queue.pop() return ("No elements in Queue!") TheQueue = Queue() TheQueue.addtoq("Mon") TheQueue.addtoq("Tue") TheQueue.addtoq("Wed") print(TheQueue.removefromq()) print(TheQueue.removefromq())
当上面的代码被执行时,它会产生以下结果 -
Mon Tue
双端队列(deque)具有从任一端添加和删除元素的功能。Deque模块是集合库的一部分。它具有添加和删除可以直接用参数调用的元素的方法。在下面的程序中,我们导入集合模块并声明一个双端队列。不需要任何类,我们直接使用 ...