首先将待排序的數組構造成一個大根堆,此時,整個數組的最大值就是堆結構的頂端。将頂端的數與末尾的數交換,此時,末尾的數為最大值,剩餘待排序數組個數為n-1。将剩餘的n-1個數再構造成大根堆,再将頂端數與n-1位置的數交換,如此反複執行,便能得到有序數組。
堆排序利用堆這種數據結構所設計的一種排序算法。堆是一個近似完全二叉樹的結構,并同時滿足堆積的性質:即子結點的鍵值或索引總是小于(或者大于)它的父節點。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!