import heapq
# 创建一个空的优先堆
priority_queue = []
# 插入元素到优先堆中
heapq.heappush(priority_queue, (2, 'task 2'))
heapq.heappush(priority_queue, (1, 'task 1'))
heapq.heappush(priority_queue, (3, 'task 3'))
# 查看优先堆中的元素
print("优先堆中的元素:", priority_queue)
# 删除并返回具有最高优先级的元素(即最小的元素)
highest_priority_task = heapq.heappop(priority_queue)
print("具有最高优先级的任务:", highest_priority_task)
# 查看删除后优先堆中的元素
print("删除后的优先堆中的元素:", priority_queue)
heapq.heappush(heap, item)
:将 item
插入堆中。heapq.heappop(heap)
:从堆中删除并返回最小的元素。heapq.heapify(x)
:将列表 x
转换为堆。heapq.heappushpop(heap, item)
:将 item
插入堆中,然后弹出并返回最小的元素。heapq.heapreplace(heap, item)
:弹出并返回最小的元素,然后将 item
插入堆中。
评论
发表评论