큐의 특징
- FIFO(First-In-First-Out), 먼저 들어온 데이터가 먼저 나간다 - 쉽게 기억하려면 콘서트 티켓 예매 줄을 생각하면 된다. 먼저 서있는 사람이 먼저 티켓을 받아서 나가는 방식이 FIFO 방식이다.
- 큐에 요소를 추가하는 것은
enqueue, 큐에서 요소를 제거하는 것은 dequeue라고 한다.
collections.deque를 사용해 큐 구현하기
from collections import deque
class Queue:
def __init__(self):
self.queue = deque()
def enqueue(self, item):
self.queue.append(item)
def dequeue(self):
if not self.is_empty():
return self.queue.popleft()
return None
def peek(self):
if not self.is_empty():
return self.queue[0]
return None
def is_empty(self):
return len(self.queue) == 0
def show(self):
print(list(self.queue))
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
q.show()
print(q.dequeue())
q.show()
print(q.peek())
print(q.is_empty())
q.dequeue()
q.dequeue()
print(q.is_empty())
실행 결과
