鍍金池/ 教程/ Python/ Python隊列
Python樹遍歷算法
Python雙端隊列
Python隊列
Python回溯
Python棧
Python數(shù)據(jù)結(jié)構(gòu)開發(fā)環(huán)境
Python數(shù)據(jù)結(jié)構(gòu)簡介
Python算法分析
Python圖遍歷算法
Python搜索算法
Python圖
Python鏈表
Python集合
Python元組
Python字典
Python矩陣
Python高級鏈表(雙向鏈表)
Python搜索樹
Python二維數(shù)組
Python堆
Python節(jié)點
Python排序算法
Python數(shù)據(jù)結(jié)構(gòu)
Python遞歸
Python列表
Python數(shù)組
Python算法設(shè)計
Python哈希表

Python隊列

當(dāng)?shù)却豁椃?wù)時,對日常生活中的排隊很熟悉。 隊列數(shù)據(jù)結(jié)構(gòu)同樣意味著數(shù)據(jù)元素排列在一個隊列中。 隊列的唯一性在于項目添加和刪除的方式。 這些對象可以放在最后,但從另一端移除。 所以這是先進(jìn)先出的方法。 可以使用python list實現(xiàn)隊列,可以使用insert()pop()方法添加和移除元素。它們沒有插入,因為數(shù)據(jù)元素總是添加在隊列的末尾。

將元素添加到隊列

在下面的例子中,我們創(chuàng)建了一個隊列類,實現(xiàn)了先進(jìn)先出方法。 使用內(nèi)置的insert()方法來添加數(shù)據(jù)元素。

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())

執(zhí)行上面示例代碼,得到以下結(jié)果 -

3

從隊列中移除元素

在下面的例子中,我們創(chuàng)建了一個插入數(shù)據(jù)的隊列類,然后使用內(nèi)置的pop方法刪除數(shù)據(jù)。參考以下代碼實現(xiàn) -

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())

當(dāng)上面的代碼被執(zhí)行時,它會產(chǎn)生以下結(jié)果 -

Mon
Tue

上一篇:Python排序算法