簡單桶排序

2021-10-13 12:46:18 字數 572 閱讀 3240

2023年即將過去,2023年即將到來。讓我們總結過去並且憧憬2021;

希望大家在2023年理論與實際相結合;

以下是簡單桶排序**

題目:滿分十分有五個同學依次考5分,9分,1分,6分,5分,7分。把以上同學按照非遞減排序(使用簡單同排序)

1、申請處理資料上限數字的桶數(對應下面程式中n);

2、對申請的桶清空(重置為0)用於計數;

3、使處理資料的桶下標加1即可;

4、按照要求輸出桶中存放的次數並且按照順序:(輸出的是桶下標)

#include

intmain()

for(i=

0;i<

11;i++

)for

(j=0

;j;j++

)printf

("%5d"

,i);

//按照從小到大順序輸出桶下標,注意格式控制;

return0;

}

執行結果如下

桶排序的簡單實現

桶排序的思想有點像計數排序,又有點像快速排序,還用到一點hash的東西,值得仔細琢磨。具體做法如下,按照某種hash函式,將資料對映到不同的桶中,使用hash是因為我們要保證每個資料的對映過程應該在常數時間內完成。對映完成後,每個桶中的資料相比於其他桶都是有序的 也就是相鄰的桶有嚴格的順序 這個就有...

演算法筆記 簡單桶排序

假設班上有5個同學,這學期期末考試,這5個同學分別考了5分 3分 5分 2分 8分,滿分是10分。接下來將分數從大到小排序,排序後是8 5 5 3 2。簡單桶排序 void barrelsort for i 1 i 5 i 從大到小輸出 for i 10 i 0 i printf n 從小到大輸出 ...

最簡單的桶排序

問你乙個問題 現在有3 6 1 5 3 7 六個數字,你怎麼把它們從小到大排序呢?你肯定是找到最小的1拿出來,接著是3,一直到7對吧!1。準備桶 你得確定你排序的數字在哪個區域,比如說你要排序的數字中最大的是100 那你就得準備乙個a 101 的陣列,這裡就有102個桶了 2。排序 你要對3 6 1...