Python - 数据结构之队列
-
简述
当我们等待服务时,我们熟悉日常生活中的排队。队列数据结构也意味着相同的数据元素排列在队列中。队列的独特性在于添加和删除项目的方式。这些项目在一端是允许的,但从另一端移除。所以这是一种先进先出的方法。队列可以使用 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