5.2.1 큐 구현 1: 동적 배열을 단순하게 사용해서 구현하기
이전 절에서 스택을 동적 배열로 구현한 적이 있으니 리스트는 내부 표현으로 다음과 같이 구현해 볼 수 있습니다.
코드 5-3 queue.py
class Queue:
def __init__(self):
self.container = list()
def empty(self):
if not self.container:
return True
else:
return False
def enqueue(self, data):
self.container.append(data)
def dequeue(self):
# 동적 배열의 맨 처음 데이터를 삭제하므로 빅오는 O(n)
# 좀 더 효율적으로 구현할 수는 없을까?
return self.container.pop(0)
def peek(self):
return self.container[0]