큐(Queue)
- 먼저 들어간 데이터부터 먼저 꺼낼 수 있는 구조

- FIFO(First-In, First-Out) <=> LILO(Last-In, Last-Out)
용어
enqueue
: 큐에 데이터를 넣는 기능
dequeue
: 큐에서 데이터를 꺼내는 기능
파이썬 queue 라이브러리 활용
- import queue
- Queue: 일반적인 큐
- LifoQueue: 나중에 입력된 데이터가 먼저 출력되는 구조(스택과 비슷)
- PriorityQueue: 데이터에 우선순위를 매겨 우선순위가 높은 순으로 출력하는 구조
Queue
import queue
data_queue = queue.Queue()
data_queue.put("cobugi")
data_queue.put(7)
data_queue.qsize()
data_queue.get()
data_queue.qsize()
data_queue.get()
data_queue.qsize()
LifoQueue
import queue
data_queue = queue.LifoQueue()
data_queue.put("cobugi")
data_queue.put(7)
data_queue.qsize()
data_queue.get()
data_queue.qsize()
data_queue.get()
data_queue.qsize()
PriorityQueue
import queue
data_queue = queue.PriorityQueue()
data_queue.put((10, "cobugi"))
data_queue.put((5, 7))
data_queue.put((15, "rabbit"))
data_queue.qsize()
data_queue.get()
data_queue.get()
enqueue, dequeue 기능 구현
queue_list = list()
def enqueue(data):
queue_list.append(data)
def dequeue():
data = queue_list[0]
del queue_list[0]
return data
for index in range(10):
enqueue(index)
print(len(queue_list))
dequeue()
dequeue()
dequeue()
dequeue()