파이썬 스택, 큐 예제
파이썬 스택, 큐 예제.
# 파이썬 Stack 예제
def push(data, n): # data: 스택 리스트, n: 추가할 값
data.append(n)
def pop(data): # data: 스택 리스트
if len(data)>0: # 빈 스택을 pop()하면 인덱스 에러 발생
return data.pop()
return False # 빈 스택이면 False 반환
stack = []
print('스택:', stack)
for i in range(1,4):
push(stack, i)
print('스택:', stack)
for i in range(1,4):
pop(stack)
print('스택:', stack)
[실행 결과]
스택: []
스택: [1]
스택: [1, 2]
스택: [1, 2, 3]
스택: [1, 2]
스택: [1]
스택: []
#---------------------------------------
# 파이썬 Queue 예제
def enqueue(data, n): # enqueue = push
data.append(n)
def dequeue(data):
if len(data)>0: # 빈 큐는 False 반환
return data.pop(0) # 처음 값 빼내서 반환
return False
queue = []
print(' 큐 :', queue)
for i in range(1,4):
enqueue(queue, i)
print(' 큐 :', queue)
for i in range(1,4):
dequeue(queue)
print(' 큐 :', queue)
[실행 결과]
큐 : []
큐 : [1]
큐 : [1, 2]
큐 : [1, 2, 3]
큐 : [2, 3]
큐 : [3]
큐 : []
<이상>