더북(TheBook)

스택의 푸시를 구현하는 데 파이썬 리스트의 append를 사용하고, 스택의 팝을 구현하는데 리스트의 pop을 사용하겠습니다. 객체 지향 관점으로 두 객체 사이의 관계를 정의해야 하는데 ‘스택은 리스트의 일종이다’라는 표현은 어울리지 않으므로 상속(inheritance)을 사용하지 않고 합성(composition)을 활용하여 구현하겠습니다. 실제 구현 코드는 다음과 같습니다.

코드 12-12 data_structure_1/stack.py ①

class Stack:
    def _ _init__(self):
        self.container = list() #1

    def push(self, data):
        self.container.append(data) #2

    def pop(self):
        return self.container.pop() #3

    def empty(self):
        if not self.container:
            return True
        else:
            return False

    def peek(self):
        return self.container[-1] #4
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.