最快最簡單的排序 桶排序

2021-08-07 13:29:28 字數 692 閱讀 7711

我們學過很多的排序方法,氣泡排序、希爾排序、快速排序……今天我想說的是一種應用起來最快最簡單的排序——桶排序。

當你隨機輸入幾個數,進行從小到大(從大到小)依次排序;你會有什麼方法?

這裡只需乙個一維陣列即可。申請乙個長度為n的一維陣列。就相當於定義n個變數arr[0]~arr[n-1]; 剛開始都初始化為0,表示沒有任何東西使用它。

下來我們將某個數字對應的陣列下表的陣列的值增加1。即arr[0]=0,arr[1]=3,arr[5]=5……arr[n]=7; 即對應的就是其下標出現的次數(某個數出現了幾次);

我們將這種方法稱為桶排序;

有點像雜湊表,但是比雜湊簡單。

這個演算法,好比有n個桶,編號從0~n-1, 沒出現乙個數字,就在這個同種放乙個蘋果,最後數每個桶中蘋果的個數—每個數字出現的次數。

int main()

; int i=0;

int j=0;

int t;

for(;i<11;i++) //將陣列初始化為0

arr[i]=0;

for(i=1;i<6;i++)

for(i=0;i<11;i++)

printf("\n");

system("pause");

return

0;}

大家可以延伸一下….hahaha

最快最簡單的排序 「桶排序」

先來看乙個問題 有一列 0 10 隨機數 5 3 5 2 8 現在要求將它們按照從先到大的順序或從大到小的順序排列,如何去做?在這裡可以需借助乙個一維陣列就可以解決這個問題,首先申請乙個大小為11 的陣列int a 11 編 號從a 0 a 10 剛開始的時候,將a 0 a 10 都初始化為0,然後...

最快最簡單的排序 桶排序

只需借助乙個一維陣列,對一組數進行簡單的桶排序。實現 初始化一維陣列 10個元素 每個元素對應的下標用來記錄 0 9 以內待排序數字出現的次數,如a 5 3,代表5數字出現了3次,a 2 0,代表2數字出現了0次 錄入要排序的一組數字,每乙個數字對應陣列下標,用該陣列元素記錄出現的次數 列印每個陣列...

最快最簡單的排序 桶排序

最快最簡單的排序 桶排序 在我們生活的這個世界中到處都是被排序過的。站隊的時候會按照身高排序,考試的名次需要按照分數排序,網上購物的時候會按照 排序,電子郵箱中的郵件按照時間排序 總之很多東西都需要排序,可以說排序是無處不在。現在我們舉個具體的例子來介紹一下排序演算法。首先出場的我們的主人公小哼,上...