какая куча поп возвращается? - PullRequest
0 голосов
/ 23 июня 2019

Я запутался в выводе кучи.

import heapq
heapq.heappush(PQ, ['b', 0.95])
heapq.heappush(PQ, ['d', 0.72])
heapq.heappush(PQ, ['e', 1.75])

a = heapq.heappop(PQ)
print (a)

Возвращает: ['b', 0.95] Почему он не возвращает ['d', 0.72]

1 Ответ

2 голосов
/ 23 июня 2019
import heapq
PQ = []
heapq.heappush(PQ, ['z', 0.95]) # Changed it to z which is bigger 
heapq.heappush(PQ, ['d', 0.72])
heapq.heappush(PQ, ['e', 1.75])

a = heapq.heappop(PQ)
print (a)

Результат - ['d', 0.72].Первый элемент используется для сортировки min-heap.

...