import heapq #1 heappush生成堆+ heappop把堆从小到大pop出来 heap = []
data = [1,3,5,7,9,2,4,6,8,0]foriin data:
heapq.heappush(heap,i)print(heap)
lis = []while heap:
lis.append(heapq.heappop(heap))print(lis)#2 heapify生成堆+ heappop把堆从小到大pop出来 data2 = [1,5,3,2,9,5]
heapq.heapify(data2)print(data2)
lis2 = []while data2:
lis2.append(heapq.heappop(data2))print(lis2)#输出结果[0, 1, 2, 6, 3, 5, 4, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 5, 9, 5]
[1, 2, 3, 5, 5, 9]
网友评论