본문 바로가기
Python

[자료구조 - 스택]

by 돌맹96 2024. 2. 28.
반응형
stack = [] # 스택 리스트 초기화
max_size = 10 # 스택의 최대 크기

def isFull(stack):
    # 스택이 가득찼는지 확인하는 함수
    return len(stack) == max_size

def isEmpty(stack):
    # 스택이 비었는지 확인하는 함수
    return len(stack) == 0

def push(stack, item):
    # 스택에 데이터를 추가하는 함수
    if(isFull(stack)):
        print("스택이 가득 찼습니다.")
    else:
        stack.append(item)
        print("데이터가 추가되었습니다.")
        
def pop(stack):
    # 스택에서 데이터를 꺼내는 함수
    if(isEmpty(stack)):
        print("스택이 비었습니다")
        return None
    else:
        return stack.pop()

만약에 list가 동적이 아니였다면 이런식으로 구현해야할것이다. 하지만 list는 동적배열이므로 아래와 같이 구현해도 pop과 push가 구현이된다.

 

stack = []

# 스택에 데이터 추가
stack.append(1)

# 스택에서 데이터 꺼냄
top_element = stack.pop()

# 스택의 크기를 구함
stack_size = len(stack)

 

반응형