python内置方法生成堆

2021-01-04  本文已影响0人  马疾香幽_0702

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]

上一篇下一篇

猜你喜欢

热点阅读