最快最簡單的排序 桶排序

2022-04-08 01:38:03 字數 959 閱讀 9479

桶排序,也稱為箱排序、計數排序。

如果需要把輸入的5個數排序,我們只需要乙個一位陣列就解決了。

輸入樣例:1 2 4 3 1

先建立乙個a陣列,並初始化

a[0]

a[1]

a[2]

a[3]

a[4]00

000第乙個數是1,那麼a[1]就加1,代表1這個數字出現一次。

a[0]

a[1]

a[2]

a[3]

a[4]01

000第乙個數是2,那麼a[2]就加1,代表2這個數字出現一次。

a[0]

a[1]

a[2]

a[3]

a[4]01

100以此類推,最後是

a[0]

a[1]

a[2]

a[3]

a[4]02

111最後就看是從大到小還是從小到大了

**(從大到小)

#include

#include

using

namespace std;

intmain()

cout<<

"排序結果:"

int i=m;i>=

1;i--)}

else

}return0;

}

**(從小到大)

#include

#include

using

namespace std;

intmain()

cout<<

"排序結果:"

int i=

1;i<=m;i++)}

else

}return0;

}

有那麼一點特效,可以刪掉。

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

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

最快最簡單的排序 桶排序

我們學過很多的排序方法,氣泡排序 希爾排序 快速排序 今天我想說的是一種應用起來最快最簡單的排序 桶排序。當你隨機輸入幾個數,進行從小到大 從大到小 依次排序 你會有什麼方法?這裡只需乙個一維陣列即可。申請乙個長度為n的一維陣列。就相當於定義n個變數arr 0 arr n 1 剛開始都初始化為0,表...

最快最簡單的排序 桶排序

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