堆排序的python实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了堆排序的python实现相关的知识,希望对你有一定的参考价值。

import math def build_heap(arr): # 创建堆 for i in range(1, len(arr)): s = i p = math.ceil(s / 2) - 1 while p >= 0: if arr[s] > arr[p]: arr[s], arr[p] = arr[p], arr[s] else: break s = p p = math.ceil(s / 2) - 1 return arr def sort(arr): # 创建排序列表 result_list = [] while arr: arr = build_heap(arr) result_list.append(arr.pop(0)) return result_list l = [5, 2, 7, 8, 6, 1, 4, 9, 10, 1, 2, 3, 4, 100] print(sort(l)) ?

以上是关于堆排序的python实现的主要内容,如果未能解决你的问题,请参考以下文章

堆排序的python实现

堆排python实现堆排

堆排序的python实现

堆排序python实现

python代码实现堆排序

python实现堆排序