스택처럼 파이썬의 리스트를 이용해 큐를 구현하겠습니다.
코드 12-14 data_structure_1/queue.py ①
class Queue: def _ _init__(self): self.container = list() #1 def enqueue(self, data): self.container.append(data) #2 def dequeue(self): return self.container.pop(0) #3 def empty(self): if not self.container: return True else: return False def peek(self): return self.container[0] #4
스택처럼 큐도 리스트 객체를 멤버로 가집니다(#1). 인큐는 리스트의 append(#2), 디큐는 리스트의 pop을 이용해(#3) 구현했습니다. 디큐는 리스트의 첫 번째 요소를 반환해야 하므로 pop() 메서드에 0을 인자로 전달하여 리스트의 0번 인덱스에 있는 요소를 꺼낸다는 점이 스택과 다릅니다. peek() 메서드는 리스트의 첫 번째 요소를 반환하면 되겠지요(#4).