python佇列及其實現

2021-08-26 05:23:55 字數 904 閱讀 9140

佇列(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 ...