AttributeError: 'Queue' object has no attribute 'enqueue' とエラーが出ました。
http://www.geocities.jp/m_hiroi/light/pyalgo02.html
を参考にしてリンクリストを実装しました。
# -*- coding: utf-8 -*- class Queue: # セルの定義 class Cell: def __init__(self, x, y = None): self.data = x self.next = y # 初期化 def __init__(self): self.size = 0 self.rear = None def enqueue(self, x): if self.size == 0: self.rear = Queue.Cell(x) self.rear.next = self.rear # 循環リスト else: new_cell = Queue.Cell(x, self.rear.next) self.rear.next = new_cell self.rear = new_cell self.size += 1 def dequeue(self): if self.size == 0: raise IndexError front = self.rear.next self.rear.next = front.next self.size -= 1 if self.size == 0: self.rear = None return front.data def rotate(self, n=1): if self.size == 0 or n < 1: raise IndexError while n > 0: self.rear = self.rear.next n -= 1 # 簡単なテスト if __name__ == '__main__': q = Queue() #print(q.isEmpty()) for x in range(5): q.enqueue(x) print(q) q.rotate() print(q.peek()) q.rotate() print(q.peek()) q.rotate() print(q.peek()) q.rotate() print(q.peek()) q.rotate() print(q.peek()) while not q.isEmpty(): print(q.dequeue()), print(q) print(q)
と書いて実行したところ、
上記のエラーが出ました。
for x in range(5): self.q.enqueue(x)
と直して実行してもエラーが出ました。
q = Queue() や def enqueue(self, x) と必要なものは書いているのでどうエラーを直せば良いのかわかりません。
どう直せば良いのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。