排序 堆排序

2022-05-03 21:33:12 字數 425 閱讀 9544

以下是自己寫的堆排序原始碼,已經測試通過,以後有時間總結,

#include//堆a,儲存在陣列a[len]中,根節點下標為i,len為陣列長度 

//該函式的作用是保持最大堆的性質

void keep(int *a,int len,int i);

void build(int* a,int len);

void sort(int* a,int len);

void keep(int *a,int len,int i)

} //建堆:通過乙個陣列建立最大堆

void build(int* a,int len)

//堆排序

void sort(int* a,int len)

printf("\n");

}int main()

堆排序 堆排序優化 索引堆排序

堆排序 堆排序優化 索引堆排序 注 堆排序 索引堆排序 都是不穩定的排序。注 索引最大堆排序有誤!有沒有大神可以指點一二?1 堆 所有元素 都從索引0開始 父親結點索引 i 左孩子結點索引 2i 1 右孩子結點索引 2i 2 左後乙個非葉子結點索引 n 1 2 用於構建堆,從最後乙個非葉子結點索引開...

堆排序 堆排序優化 索引堆排序

堆排序 堆排序優化 索引堆排序 注 堆排序 索引堆排序 都是不穩定的排序。注 索引最大堆排序有誤!有沒有大神可以指點一二?1 堆 所有元素 都從索引0開始 父親結點索引 i 左孩子結點索引 2i 1 右孩子結點索引 2i 2 左後乙個非葉子結點索引 n 1 2 用於構建堆,從最後乙個非葉子結點索引開...

堆排序 模擬堆排序

838.堆排序 輸入乙個長度為n的整數數列,從小到大輸出前m小的數。輸入格式 第一行包含整數n和m。第二行包含n個整數,表示整數數列。輸出格式 共一行,包含m個整數,表示整數數列中前m小的數。資料範圍 1 m n 1051 m n 105,1 數列中元素 1091 數列中元素 109 輸入樣例 5 ...