アルゴリズムチャレンジ via Python (2) - Queue編 -
前回はStack編だったので今回はQueueを書いてみました. Queueは基本的にはStackと大差ないのですがStackが後入れ先だしなのに対し先入れ先出しです.待ち行列ともいいますね. 今回もclassを使います.
class要件はこんな感じでしょうか?
- classは内部に配列を持つ.
classはqueue関数を持つ.
- 引数:Queueの最後に追加したいオブジェクト.
- 戻り値:なし.
classはdequeue関数を持つ.
- 引数:なし.
- 戻り値:Queueの先頭にあったオブジェクト.
class MyQueue: def __init__(self): self.mylist = [] def enqueue(self, item): self.mylist.append(item) def dequeue(self): if len(self.mylist) <= 0: return else: head = self.mylist[0] del(self.mylist[0]) return head # Driver myqueue = MyQueue() myqueue.enqueue(1) myqueue.enqueue(2) myqueue.enqueue(3) print(myqueue.dequeue()) # 1 print(myqueue.dequeue()) # 2 print(myqueue.dequeue()) # 3 print(myqueue.dequeue()) # None