感覺不是很有用,這演算法估計不會用。。。。
計數排序要求輸入的資料必須是有確定範圍的整數。
1.找出待排序的陣列中最大和最小的元素;
2.統計陣列中每個值為i的元素出現的次數,存入陣列c的第i項;
3.對所有的計數累加(從c中的第乙個元素開始,每一項和前一項相加);
4.反向填充目標陣列:將每個元素i放在新陣列的第c(i)項,每放乙個元素就將c(i)減去1。
(m+n)
空間:o
(m+n)
#include
voidji(
int*a,
int*b,
int n,
int max)
for(
int i =
1; i <= max; i++
)for
(int i = n -
1; i >=
0; i--
)}
c 基數排序 zjfxy
基數排序 radix sort 屬於 分配式排序 distribution sort 又稱 桶子法 bucket sort 或bin sort,它是透過鍵值的部份資訊,將要排序的元素分配至某些 桶 中,以達到排序的作用。1.分配,先從個位開始,根據位值 0 9 分別放到0 9號桶中 比如53,個位為...
計數排序 C 實現
一 演算法描述 插入排序 選擇排序 氣泡排序 歸併排序 堆排序以及快速排序都是比較排序演算法 各元素之間的次序依賴於他們之間的比較。在最壞情況下,任何比較排序演算法都需要做 nlgn 次比較。因此堆排序和歸併排序都是漸進最優的比較排序演算法。計數排序不是一種比較排序演算法,二是基於運算來確定元素的排...
C 演算法 計數排序
計數排序,並非基數排序。暫時只支援數值型 編譯環境 c 11 實現如下 include std memset include std declval 計數排序 beg,end 待排序的範圍,同時儲存結果,須支援前向迭代 min,max 待排序範圍的最小值和最大值,不包含最大值 templatevoi...