python實現迴圈佇列 迴圈佇列Python

2021-10-19 21:21:14 字數 1007 閱讀 1432

我試圖在python中建立乙個迴圈佇列,以便在到達陣列中的最後乙個元素時指向頭部。我正在研究排隊方法,我遇到了一些問題。我正在嘗試使用乙個大小為4的陣列,並且能夠將值排隊到第4個點,但是當它執行elif語句時,我收到這個錯誤。

typeerror:不支援+的運算元型別:「node」和「int」

有什麼想法嗎?class node(object):

def __init__(self, item = none):

self.item = [none] * 4

self.next = none

self.previous = none

class circularqueue(object):

def __init__(self):

self.length = 0

self.head = none

self.tail = none

def enqueue(self, x):

newnode = node(x)

newnode.next = none

if self.head == none:

self.head = newnode

self.tail = newnode

elif self.length < 4:

self.tail.next = newnode

newnode.previous = self.tail

self.tail = newnode

else:

self.tail = (self.tail + 1) % 4

self.length += 1

def dequeue(self):

if self.count == 0:

print ("the queue is empty!")

self.count -= 1

return self.item.pop()

def size(self):

return self.length

迴圈佇列 python實現

出隊只能在隊頭進行 入隊只能在隊尾進行 在順序佇列中,尾指標到達佇列邊界時,就不能再進行入隊操作了 在迴圈佇列中,尾指標到達佇列邊界時,下一步指向下標0,如果有空位還可以繼續入隊 隊空隊滿的條件都是start end,如何區分?這時我們設定乙個標誌位flag,執行出隊操作時設為0,入隊操作時設為1 ...

迴圈佇列(進隊,出隊)

描述 根據給定的空間構造順序迴圈佇列,規定隊滿處理方法為少用乙個元素空間。例如,給定5個元素空間構造迴圈佇列,則只能存放4個元素。試根據入隊及出隊操作判斷佇列最後的元素存放情況,並輸出最後佇列中的元素值,即完成給定入隊及出列操作後一次性全部出隊的元素值。要求採用順序佇列完成。輸入輸入的第一行為乙個自...

佇列 迴圈佇列與鏈隊

2.鏈隊 注意 佇列也是線性表,其特殊性在於有特殊的運算規則。即 隊結構只能在一端進行插入,該操作端稱為隊尾,另一端刪除元素,該操作端稱為隊頭。按照 先進先出 first in first out,fifo 原則處理資料節點。之所以用迴圈對列,就是了為了提高利用率。要不然每刪除乙個元素,對頭就空了乙...