# 재귀 함수
def recursive(data):
if data < 0:
print ("ended")
else:
print(data)
recursive(data - 1)
print("returned", data)
recursive(4)
4
3
2
1
0
ended
returned 0
returned 1
returned 2
returned 3
returned 4
스택은 단순하고 빠른 성능을 위해 사용되므로, 보통 배열 구조를 활용해서 구현하는 것이 일반적임.
이 경우, 위에서 열거한 단점이 있을 수 있음
data_stack = list()
data_stack.append(1)
data_stack.append(2)
data_stack
[1, 2]
data_stack.pop()
2
stack_list = list()
def push(data):
stack_list.append(data)
def pop():
data = stack_list[-1]
del stack_list[-1]
return data
for index in range(10):
push(index)
pop()
8
print(stack_list)
[0, 1, 2, 3, 4, 5, 6, 7]