在使用python中,你会遇到一个词,就是堆排序。那堆排序是什么呢?堆排序看字面意思是一种排序方法,那堆是什么呢?堆是一个近似完全二叉树的结构,并同时满足堆积的性质。其实堆排序是指利用堆这种数据结构所设计的一种排序算法。认识了堆排序,那你知道堆排序在python中如何实现吗?本文小编就像大家演示推排序在python的实现代码。
代码:
defheap_sort(array,n,length): l=2*n+1 r=2*n+2 ifl<=length-1: heap_sort(array,l,length) ifr<=length-1: heap_sort(array,r,length) ifl>=length: return index=l ifr<lengthandarray[r]>array[l]: index=r ifarray[n]<array[index]: array[n],array[index]=array[index],array[n]
测试:
if__name__=='__main__': a=input("输入数组元素:").split("") a=list(map(int,a)) b=a.copy() c=a.copy() foriinrange(len(c)): heap_sort(c,0,len(c)-i) c[0],c[len(c)-i-1]=c[len(c)-i-1],c[0] print(c) 输入数组元素:4836715 [1,3,4,5,6,7,8] Processfinishedwithexitcode0
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容