溫馨提示×

python優(yōu)先隊(duì)列中怎么只取出值

小億
91
2023-12-16 10:23:14
欄目: 編程語言

在Python中,可以使用heapq模塊來實(shí)現(xiàn)優(yōu)先隊(duì)列。優(yōu)先隊(duì)列可以通過heapq中的heapify函數(shù)將一個(gè)列表轉(zhuǎn)換為堆,然后使用heapq中的heappop函數(shù)來彈出堆中的最小值。

下面是一個(gè)簡單的示例代碼:

import heapq

# 創(chuàng)建一個(gè)列表
queue = [5, 3, 8, 1, 2]

# 將列表轉(zhuǎn)換為堆
heapq.heapify(queue)

# 從堆中彈出最小值
smallest = heapq.heappop(queue)
print(smallest)  # 輸出:1

在這個(gè)例子中,首先創(chuàng)建一個(gè)列表queue,然后使用heapify函數(shù)將其轉(zhuǎn)換為堆。然后使用heappop函數(shù)從堆中彈出最小值,并將其賦值給變量smallest。最后將smallest打印出來,即為堆中的最小值。

0