基數排序: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();}}
----- end -----經過第0次排序的結果如下:100 300 594 7 99
經過第1次排序的結果如下:100 300 7 594 99
經過第2次排序的結果如下:7 99 100 300 594
基數排序演算法
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,以個位數數字為桶編號依次入...