Python隊列

當等待一項服務時,對日常生活中的排隊很熟悉。 隊列數據結構同樣意味着數據元素排列在一個隊列中。 隊列的唯一性在於項目添加和刪除的方式。 這些對象可以放在最後,但從另一端移除。 所以這是先進先出的方法。 可以使用python list實現隊列,可以使用insert()pop()方法添加和移除元素。它們沒有插入,因爲數據元素總是添加在隊列的末尾。

將元素添加到隊列

在下面的例子中,我們創建了一個隊列類,實現了先進先出方法。 使用內置的insert()方法來添加數據元素。

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