温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

堆排序的python实现

发布时间:2020-08-09 22:25:22 来源:网络 阅读:147 作者:newidin51 栏目:编程语言
 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)) ​
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI