05 基數排序演算法

2022-07-12 16:12:20 字數 1127 閱讀 6213

基數排序:lsd法,最低位優先 ,先從kd開始排序,再對kd-1進行排序,依次重複,直到對k1排序後便得到乙個有序序列;即元素從這個位排好序,然後再從十位排好序,直到最高位排序完成。時間複雜度為:o(d(n+radix)) 。

lsd基數排序:

void

radixsort

(vector

&v, int d, int size)

j = 0;

for(int digitvalue = 0; digitvalue < 10; digitvalue++)

}cout

<<"經過第 "

<< i << " 次排序的結果如下:"

<< endl;

for(j = 0; j < size; j++)

cout

<< endl;

digit *= 10;}}

/**

* @param array 陣列

* @param d 最高的位數 如 9999 則為4位

* @param len 陣列長度

*/public

static

void

radixsort

(int array, int d, int len)

for (i = 0; i < d; i++)

j = 0;

for (int digitvalue = 0; digitvalue < 10; digitvalue++)

}digit *= 10;

system.out.print(string.format("經過第%d次排序的結果如下:", i));

for (j = 0; j < len; j++)

system.out.println();}}

經過第0次排序的結果如下:100 300 594 7 99 

經過第1次排序的結果如下:100 300 7 594 99 

經過第2次排序的結果如下:7 99 100 300 594 

----- end -----

基數排序演算法

include stdafx.h include iostream include math.h using namespace std struct radixsort 建立迴圈鍊錶 radixsort creatlink else le ls ls new radixsort 為下乙個節點在堆記...

基數排序演算法

以下內容為程式 int quicksort int p,int n extern int insertsort int p,int n static int partition int p,int n,int m static int quick sort int p,int n 快速排序演算法在 ...

基數排序演算法

經典排序演算法 基數排序radix sort 原理類似桶排序,這裡總是需要10個桶,多次使用 首先以個位數的值進行裝桶,即個位數為1則放入1號桶,為9則放入9號桶,暫時忽視十位數 例如 待排序陣列 62,14,59,88,16 簡單點五個數字 分配10個桶,桶編號為0 9,以個位數數字為桶編號依次入...