반응형

파이썬 스택, 큐 예제.

 

# 파이썬 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]
 큐 : []

 

<이상>

반응형

+ Recent posts