[Python] 큐 조작하기 - JuyeolRyu/CodingTest GitHub Wiki

일반적인 큐 사용하기

from collections import deque

1.큐 생성
q = deque([1,2])
print(q)
2.값 입력(오른쪽)
q.append(3)
print(q)
3.값 제거(왼쪽)
q.popleft()
print(q)


우선순위 큐 사용하기

from queue import PriorityQueue

1.큐 생성
q = PriorityQueue()
2.값 입력
q.put(3)
3.값 제거
q.get()
4.현재 큐 길이
length = q.qsize()
print(length)


heapq를 사용한 우선순위 큐

import heapq

1.큐 생성
q = [4,5,3,8,1,9,7,6]
heapq.heapify(q)
print(q)
2.값 입력
heapq.heappush(q,2)
3.값 제거
num = heapq.heappop(q)
print(num)
4.maxheap(내림차순)
q = [4,5,3,8,1,9,7,6]
q = list(map(lambda x:-x,q))
heapq.heapify(q)

num = 10
heapq.heappush(q,-num)
while q:
print(-heapq.heappop(q))