基數排序: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,以個位數數字為桶編號依次入...