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

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

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