1. 程式人生 > 程式設計 >python佇列原理及實現方法示例

python佇列原理及實現方法示例

本文例項講述了python佇列原理及實現方法。分享給大家供大家參考,具體如下:

佇列(queue)是隻允許在一端進行插入操作,而在另一端進行刪除操作的線性表。

佇列是一種先進先出的(First In First Out)的線性表,簡稱FIFO。允許插入的一端為隊尾,允許刪除的一端為隊頭。佇列不允許在中間部位進行操作!假設佇列是q=(a1,a2,……,an),那麼a1就是隊頭元素,而an是隊尾元素。這樣我們就可以刪除時,總是從a1開始,而插入時,總是在佇列最後。這也比較符合我們通常生活中的習慣,排在第一個的優先出列,最後來的當然排在隊伍最後。

佇列的實現

同棧一樣,佇列也可以用順序表或者連結串列實現。

操作

  • Queue() 建立一個空的佇列
  • enqueue(item) 往佇列中新增一個item元素
  • dequeue() 從佇列頭部刪除一個元素
  • is_empty() 判斷一個佇列是否為空
  • size() 返回佇列的大小

示例

class Queue(object):
  """佇列"""
  def __init__(self):
    self.items = []
  def is_empty(self):
    return self.items == []
  def enqueue(self,item):
    """進佇列"""
    self.items.insert(0,item)
  def dequeue(self):
    """出佇列"""
    return self.items.pop()
  def size(self):
    """返回大小"""
    return len(self.items)
if __name__ == "__main__":
  q = Queue()
  q.enqueue("hello")
  q.enqueue("world")
  q.enqueue("itcast")
  print q.size()
  print q.dequeue()
  print q.dequeue()
  print q.dequeue()

更多關於Python相關內容感興趣的讀者可檢視本站專題:《Python資料結構與演算法教程》、《Python加密解密演算法與技巧總結》、《Python編碼操作技巧總結》、《Python函式使用技巧總結》、《Python字串操作技巧彙總》及《Python入門與進階經典教程》

希望本文所述對大家Python程式設計有所幫助。