혼공파 86강
1. 스택
# 스택(Stack)
# 선입후출(First in Last out FILO) 구조를 갖는 자료 구조
# 후입선출(Last in First out LIFO) 구조를 갖는 자료 구조
# 푸시(Push): 스택 안에 자료를 넣는 행위
# 팝(Pop): 스택에서 자료를 꺼내는 행위
class Stack:
def __init__(self):
self.__list = []
def push(self, value):
self.__list.append(value)
def pop(self):
output = self.__list[-1]
del self.__list[-1]
return output
stack = Stack()
stack.push(10) # [10]
stack.push(20) # [10, 20]
stack.push(30) # [10, 20, 30]
print(stack.pop()) # 30 [10, 20]
print(stack.pop()) # 20 [10]
print(stack.pop()) # 10
2. 큐
# 큐(queue)
# 선입선출 (First In First Out : FIFO) 구조를 갖는 자료구조
# 인큐(enqueue) : 큐에 자료를 넣는 행위
# 디큐(dequeue) : 큐에서 자료를 꺼내는 행위
class Queue:
def __init__(self):
self.__list = []
def enqueue(self, value):
self.__list.append(value)
def dequeue(self):
output = self.__list[0]
del self.__list[0]
return output
queue = Queue()
queue.enqueue(10) # [10]
queue.enqueue(20) # [10, 20]
queue.enqueue(30) # [10, 20 , 30]
print(queue.dequeue()) # 10 [20, 30]
print(queue.dequeue()) # 20 [30]
print(queue.dequeue()) # 30 []
'Base > Python' 카테고리의 다른 글
30. 모듈 만들기 (0) | 2023.07.05 |
---|---|
29. 모듈 기본 문법 및 기본 내장 모듈 (0) | 2023.07.01 |
27. 상속(Inheritance)과 컴포지션(Composition) (0) | 2023.06.30 |
26. 캡슐화 (0) | 2023.06.29 |
25. 특수한 이름의 함수, 값 객체 (0) | 2023.06.29 |
댓글