스택이란 먼저 들어간 것이 마지막에 나오는 규칙
선입후출 FILO first In Last Out
스택의 ADT
boolean isFull() : 스택에 들어 있는 데이터 개수가 maxsize인지 확인해 boolean값을 반환합니다. 가득 차 있다면 True,아니면 False
boolean isEmpty() : 스택에 들어있는 데이터가 하나도 없는지 확인해 boolean값을 반환. 데이터가 하나도 없으면 True, 있으면 False
void push(ItemType item) : 스택에 데이터를 푸시합니다.
ItemType pop() : 스택에서 최근에 푸시한 데이터를 팝하고, 그 데이터를 반환합니다.
Int top :스택에서 최근에 push한 데이터의 위치를 기록
ItemType data[maxsize] : 스택의 데이터를 관리하는 배열입니다. 최대 maxsize개의 데이터를 관리합니다.
push()를 하고 나서는 isFull()해서 데이터가 찼는지 확인하고
pop()를 하고 나서는 isEmpty()해서 데이터가 비어있는지 확인
실제로는 max_size(),isFull()은 사용하지 않고 isEmpty()함수는 len(stack)==0으로 검사합니다.
stack = [] #스택 리스트 초기화
def push(stack,item):
#스택에 데이터를 추가하는 함수
stack.append(item)
print("데이터가 추가되었습니다")
def pop(stack):
#스택에서 아이템을 꺼내는 함수
if len(stack) ==0 :
print("스택이 비어 있습니다")
return None
else:
return stack.pop()
'파이썬' 카테고리의 다른 글
[CloneCoding]airbnb 파이썬 코딩 준비하기[1] (0) | 2021.06.22 |
---|---|
[파이썬]파이썬 내장 함수 (0) | 2021.02.10 |
[파이썬][알고리즘]최단 경로 Shortest Path (0) | 2021.02.03 |
[파이썬][알고리즘]다이나믹 프로그래밍 (0) | 2021.02.01 |