堆排序-Python
生活随笔
收集整理的這篇文章主要介紹了
堆排序-Python
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
堆排序-Python
- python代碼
python代碼
def build_heap(array):for i in range(len(array)//2-1,-1,-1):big_heap(array,i,len(array)) def big_heap(array,idx,n):l,r = 2*idx+1,2*idx+2large = idxif l < n and array[large] < array[l]:large = lif r < n and array[large] < array[r]:large = rif large != idx:array[large],array[idx] = array[idx],array[large]big_heap(array,large,n)def heap_sort(array):build_heap(array)for i in range(len(array)-1,-1,-1):array[0],array[i] = array[i],array[0]big_heap(array,0,i) if __name__ == '__main__':array = [5,6,3,2,9,5,22,3,66]heap_sort(array)print(array)總結
以上是生活随笔為你收集整理的堆排序-Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python进阶 多线程编程 —— th
- 下一篇: python 异步编程——asyncio