c 計數排序 zjfxy

2021-10-08 09:27:22 字數 494 閱讀 4112

感覺不是很有用,這演算法估計不會用。。。。

計數排序要求輸入的資料必須是有確定範圍的整數。

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...