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