桶排序 PowerShell版

2022-01-18 12:45:20 字數 900 閱讀 1791

$scores = @(88,13,99,26,62,64,77)

#score's scope is from 0~100

$sortedscore = new-object system.collections.arraylist

for($i=0;$i

-le 100;$i++)

for($i=1;$i

-le$scores.count;$i++)

write-host "

the sorted scores are:

"for($i=0;$i

-le 100;$i++)}}

1、這裡待排序的陣列$scores我寫死了,也可以改寫成動態輸入的;

2、對於排序結果我宣告了乙個動態arraylist型別陣列;

3、0到100分之間每一分都當成是乙個桶,排序結果陣列的索引分別對應0到100分,並初始化每個索引位的數值為0;

4、對於待排序陣列中的每個數都對應於排序結果陣列中相應的索引值。例如:88分對應於排序結果陣列中的第88位;

5、遍歷待排序陣列,每遍歷乙個數,就為排序結果陣列相應索引值位置的數值+1;

6、輸出排序結果陣列,如果索引位數值不為0,說明加過,加過就說明待排序陣列中有,索引位數值代表加過的次數,也就是待排序陣列中該索引位對應的分數出現過的次數。索引位數值為幾就輸出幾次該索引位對應的分數值;

7、檢視排序結果。

結果如下:

缺點:1、只能排列分數,不能按照得分排列得分者;

2、排序數範圍越大,浪費的空間越大(因為要初始化的排序結果數列會隨著排序數範圍增大而增大);

3、只能對整數進行排序。

氣泡排序 PowerShell版

氣泡排序的過程 第一輪排序 如果有5個數從大到小排序,第一位數與第二位數進行比較,如果第一位小,則第一位數和第二位數交換位置。之後按照這個邏輯對第二位數與第三位數,第三位數與第四位數,第四位數與第五位數分別進行比較與交換。一共會進行4次比較,交換次數小於等於4。這樣一輪比較下來,最小的數就排在了最後...

簡化版桶排序

例 讓計算機隨機讀入 5個數然後將這 5個數從大到小輸出 輸入 5 3 5 2 8 輸出 8 5 5 3 2 思路 先申請乙個大小為 11 的陣列 int a 11 現在你已經有了 11 個變數,編號從 a 0 a 10 剛開始,我們將 a 0 a 10 都初始化為 0,表示這些0 10的數字還沒出...

桶排序C語言版

桶排序 bucket sort 是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 桶排序是鴿巢排序的一種歸納結果。當要被排序的陣列內的數值是均勻分配的時候,桶排序使用線性時間 n 但桶排序並不是 比較排序,它...