분류 전체보기161 push, pop 직접 구현하기 list로 push, pop 직접 구현하기 # 준비 def push(data): stack.append(data) def pop(): data = stack[-1] del stack[-1] return data # 실행 stack = list() for i in range(5): push(i) for i in range(5): print(pop()) """ 4 3 2 1 0 """ 2020. 9. 15. 재귀함수로 스택 이해하기 재귀함수의 실행을 통해 스택 구조를 이해할 수 있다 이는 함수 호출시 프로세스 실행 구조와도 유사하다 def recursive(data): if data < 0: print("end") else: print(data) recursive(data-1) print("returned", data) recursive(3) """ 3 2 1 0 end returned 0 returned 1 returned 2 returned 3 """ 2020. 9. 15. enqueue, dequeue 직접 구현하기 list로 enqueue, dequeue 구현하기 12345678910111213141516171819q_list = list() def enqueue(data): q_list.append(data) def dequeue(): data = q_list[0] del q_list[0] return data for i in range(10): enqueue(i) # size: 10len(q_list) # 0..9for i in range(10): print(dequeue())cs 2020. 9. 15. import queue 사용하기 FIFO(First-In, First-Out) import queue q = queue.Queue() q.put(1) q.put("Sky") q.put(True) # size: 3 print(q.qsize()) # 1, Sky, True for i in range(q.qsize()): print(q.get()) LIFO(Last-In, First-Out) import queue lifo_q = queue.LifoQueue() lifo_q.put("1") lifo_q.put("Air") lifo_q.put("True") # size: 3 print(lifo_q.qsize()) # True, Air, 1 for i in range(lifo_q.qsize()): print(lifo_q.get()) Prio.. 2020. 9. 15. 이전 1 ··· 37 38 39 40 41 다음