我試圖在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 原則處理資料節點。之所以用迴圈對列,就是了為了提高利用率。要不然每刪除乙個元素,對頭就空了乙...