더북(TheBook)

스택처럼 파이썬의 리스트를 이용해 큐를 구현하겠습니다.

코드 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).

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.