스택 (Stack)

honeybeeveloper·2022년 8월 9일
0

스택(Stack)

데이터가 입력되면 입력되는 순서대로 쌓고, 나중에 들어온 것부터 먼저 사용하는(LIFO, Last In First Out) 자료구조.
스택에 데이터를 넣는 것을 "PUSH", 꺼내는 것을 "POP"이라고 한다.

스택 자료구조의 용도

스택은 대표적으로 프로그램의 수행 과정에서 사용한다.
주 프로그램에서 함수 A를 호출하면 주 프로그램 위에 함수 A가 쌓이고, 함수 A의 수행 중에 함수 B가 호출되면 함수 A 위에 함수 B가 스택 처럼 쌓인다.
함수 B의 실행이 완료되면 함수 A가 실행되고, 함수 A의 실행이 완료되면 주 프로그램이 실행된다.

스택 자료구조 구현

python 3.8
# Stack

class Stack(object):
    def __init__(self):
        self.stack = []

    def is_empty(self):
        if self.stack:
            return False
        return True

    def push(self, data):
        self.stack.append(data)

    def pop(self):
        deleted = None
        if self.is_empty():
            print('Stack is empty!')
        else:
            deleted = self.stack.pop()
        return deleted





github : https://github.com/honeybeeveloper/data-structure/blob/develop/stack.py
참고 : 책 <그림으로 정리한 알고리즘과 자료구조>

profile
꿀벌같은 개발자가 되고 싶습니다.

0개의 댓글