1.簡介:
從前面的氣泡排序可以發現乙個問題,即使只有乙個數沒排好序,氣泡排序都要把所有相鄰的數進行遍歷一遍!這樣效率就變的很低了!特別是在數非常多時就更加明顯!下面就來介紹一種比較高效的排序方法——桶排序
注意: 橢圓裡面的數,就是用於排序的數!長方形陣列就是用來記錄同樣的數出現了幾次。橢圓裡面的每個數對應著陣列的第幾個位置,最後從小到大遍歷陣列,裡面出現的數出現幾次列印幾次,就可以完成排序
下面還是要結合**具體感受一下!
2.桶排序:
1這裡主要涉及陣列知識,和自增運算子!static
void main(string
args)
2 //
而不是移向下乙個數
1314}15
else
1619 console.writeline("
----------------------------------------");
20for (int i = 0; i < 100; i++)
21for (int j = 1; j <= number[i]; j++)
2225
26console.readkey();
27 }
3.下面簡單補充一下時間複雜度的內容:
桶排序雖然能很高效完成排序!但是從上面的程式可知,非常浪費空間!演算法之間沒有哪種演算法是非常好的,根據實際情況選擇!在接下來可以了解一下簡單排序(之三)快速排序
最快最簡單的排序 「桶排序」
先來看乙個問題 有一列 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次 錄入要排序的一組數字,每乙個數字對應陣列下標,用該陣列元素記錄出現的次數 列印每個陣列...