基數排序演算法

2021-07-04 09:59:06 字數 651 閱讀 7751

基數排序演算法是箱排序(桶排序)的改進和推廣。

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