\ [파이썬]스택Stack이란 :: Something New
728x90
반응형

스택이란 먼저 들어간 것이 마지막에 나오는 규칙

선입후출 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()

 

728x90

+ Recent posts