キューの実装
キューがもつ操作は
- add(item):要素を追加する
- remove():先頭の要素を削除する
- peek(): 先頭の要素を返す
- isEmpty(): キューが空の場合にTure
class Queue(): class Node(): def __init__(self, data): self.data = data self.next = None def __init__(self): self.first = None self.last = None def add(self, item): t = self.Node(item) if self.last: self.last.next = t # lastの次定義する # lastを入れ替える self.last = t if self.first == None: self.first = self.last def remove(self): assert self.first != None, "first has no element" data = self.first.data self.first = self.first.next if self.first == None: self.last = None return data def peek(self): assert self.first == None, "first has no element" return self.first.data def isEmpty(self): return self.first == None if __name__ == "__main__": queue = Queue() for i in range(5): queue.add(i) print("removeする") while not queue.isEmpty(): print(queue.remove())