塗鴉 草稿 堆排序(2)

2021-08-02 08:09:02 字數 744 閱讀 5849

昨天晚上做了個小根堆,從小到大排序。

剛剛吃完午飯,沒事幹,就做了個大根堆,從大到小排序,練習練習~

不要看昨天的,憑感覺來,直接coding。

#include 

#include

#include

void print_arr(int

*arr, int size)

printf("\n");

}void siftdown(int

*arr, int nowpos, int maxposs)

}}void siftup(int

*arr, int nowpos)

}void createheap(int

*arr, int size, int

*p)}

void heapsort(int

*arr, int size)

free(p);

p = null;

}int main()

; printf("original data:\n");

print_arr(arr, 14);

heapsort(arr, 14);

printf("sorted data:\n");

print_arr(arr, 14);

return

0;}

估計我這的這個**有很多bug~呃呃,意思大概就是這樣。

沒事的時候敲點**玩~

塗鴉 草稿 堆排序(1)

晚上沒啥事,隨手練習寫了下最簡略版本的堆排序,當然,實際上還可以有很多優化 注釋也沒寫 這裡是草稿 沒事多寫寫,多練練 孰能生巧。完全版本的改天整理一下再專門寫篇blog來坐下說明,額,這個 沒啥注釋,將就看吧 include include include void print arr int a...

排序演算法(2) 選擇排序 堆排序

繼續上篇的 交換排序 氣泡排序 快速排序,本篇介紹選擇排序和堆排序 一 選擇排序 非常的簡單直觀,每次找出最小或者最大的值儲存起來,繼續找剩下的值儲存起來,直達最後乙個元素。從arr 0 arr n 中找出最小的值,放在arr 0 此時arr 0 已經排好序 從arr 1 arr n 中找出最小的值...

排序2 選擇排序 選擇排序 堆排序

選擇排序,依次找到資料集n n 1 n 2 中比它大 小的最大 最小者,最終達到全部資料有序。1 選擇排序 直接的依次找到資料集合n n 1 n 2.的最大 最小者形成排序,非常好理解。選擇排序可能是和氣泡排序一樣,最直觀能想到的排序方法。顯然選擇排序和氣泡排序一樣,無所謂最好 最壞 平均,選擇排序...