佇列(queue)是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。
佇列是一種先進先出的(first in first out)的線性表,簡稱fifo。允許插入的一端為隊尾,允許刪除的一端為隊頭。佇列不允許在中間部位進行操作!假設佇列是q=(a1,a2,……,an),那麼a1就是隊頭元素,而an是隊尾元素。這樣我們就可以刪除時,總是從a1開始,而插入時,總是在佇列最後。這也比較符合我們通常生活中的習慣,排在第乙個的優先出列,最後來的當然排在隊伍最後。
同棧一樣,佇列也可以用順序表或者鍊錶實現。
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()
佇列 鏈式佇列及其實現
一 1 採用鏈式儲存結構的佇列稱為鏈佇列。2 佇列採用 front 和rear 分別指向佇列的頭 尾兩個節點。3 鏈式佇列採用鏈式結構來儲存佇列中的所有元素,該佇列允許新增無限多個元素,鏈式佇列無佇列滿的問題。二 實現 public class linkqueue public node t dat...
佇列的鏈式儲存結構及其實現
佇列也是一種特殊的線性表,只允許在一端進行插入操作,在另一端進行刪除操作。允許插入的一段為對尾,允許刪除的一端為隊頭。本次記錄的是佇列的鏈式儲存結構以及實現。該儲存結構有兩個指標,乙個指向頭節點,稱為頭指標 front 乙個指向隊尾,稱為尾指標 rear 當front rear時,表示空佇列。當需要...
演算法8 佇列及其實現
和上一部分關於棧的部分一樣,不講基本知識,直接實現,走你!佇列和棧相似,也包括一些基本的佇列的操作,初始化,出佇列,入佇列,判空,判滿,清空等操作。1 include 2 include 3 include 45 define queuelen 15 67 typedef struct 8data ...