基數排序演算法是箱排序(桶排序)的改進和推廣。
int find_max(int a, int len) //查詢長度為len的陣列的最大元素
return max;
}//計算number有多少位
int digit_number(int number)
while(number != 0)
return digit;
}//返回number上第kth位的數字
int kth_digit(int number, int kth)
//對長度為len的陣列進行基數排序
void radix_sort(int a, int len)
; //用於儲存每乙個箱子裝有多少元素
int max = find_max(a, len); //取得序列中最大整數
int maxdigit = digit_number(max); //得到最大整數的位數
int i, j, k;
for(i = 0; i < 10; i++)
for(i = 0; i < maxdigit; i++)
int index = 0;
for(j = 0; j < 10; j++)} }
}
基數排序演算法
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,以個位數數字為桶編號依次入...