題目描述:
根據輸入,輸出基數排序的每趟排序結果。
輸入格式:輸入數字為正整數,先輸入排序數字個數,然後輸入需要排序的數字序列。
輸出:每趟排序結果。
要求:程式需要實現排序,其他可以使用stl包。
示例測試集:輸入:8
2343666
152310
5594
592783278
輸出:152310 2343 592783 5594 6 66 27 8
6 8 152310 27 2343 66 592783 5594
6 8 27 66 152310 2343 5594 592783
6 8 27 66 152310 2343 592783 5594
6 8 27 66 2343 5594 152310 592783
6 8 27 66 2343 5594 152310 592783
#include
using namespace std;
//輸出陣列
void
print
(int data[
],int n)
cout<}//求出陣列中數字的最大位數,以判斷要排序幾次
int maxbit
(int data[
],int n)
}return num;
}//基數排序
void
radixsort
(int data[
],int n)
for(int a=
0;a)for
(int i=
1;i<
10;i++
)for
(int q=n-
1;q>=
0;q--
)for
(int i=
0;i)print
(data,n)
; radix*=10;
}}int main()
radixsort
(data,n)
;return0;
}
將所有桶中記錄依次收集到tmp中那步為啥要從最後乙個元素開始啊??為什麼啊為什麼啊?
參考鏈結
基數排序 C
首先我們引入乙個多關鍵排序的概念 多關鍵字排序 假如現在有乙個員工表,要求按照薪資排序,年鈴相同的員工按照年齡排序。比如氣泡排序就是一種穩定排序,堆排序就是不穩定的排序,品,你細細的品 那麼對32,13,94,52,17,54,93排序,是否可以看做多關鍵字排序?比如32 13 52排序,先看個位2...
c 基數排序
題目和我的前幾個排序一樣 include using namespace std int arrlength int arr 測出int陣列的長度 遞迴,找出陣列最大的值 param arrays 陣列 param l 左邊界,第乙個數 param r 右邊界,陣列的長度 return int fi...
排序 基數排序 C
2.執行結果 3.演算法實現 1.基數排序是在箱排序的基礎之上進行擴充套件和完善的 2.通過判斷待排序的陣列中的位數,決定進行建立箱子的個數和遍歷的次數.例如 待排序中最多的位數為3位,那麼就需要建立三個箱子 當然也可以建立兩個,進行復用,記得復用之前要清除之前的箱子 這裡我就不復用了.那麼需要進行...