13032 - 基数排序
时间限制 : 1 秒
内存限制 : 128 MB
给定 n个非负整数,请你使用基数排序(LSD 方式)对这些数从小到大进行排序,并输出排序后的结果。 基数排序是一种非比较型排序算法,它从最低位(个位)开始,依次对每一位进行“分配—收集”操作,最终得到有序序列。
你需要按照如下思路实现排序过程:
找到数组中的最大值,确定数字的最大位数
从个位开始,到第 d位(最高位)为止,依次进行:
按照当前位数字将元素放入 0~9 号桶中
按桶的顺序依次取回元素,放回原数组
完成所有位的排序后,数组即为有序状态
输入
第一行一个整数 n,表示数字个数。 第二行 n个整数,表示待排序序列。
输出
输出一行 n个整数,表示排序后的结果,数与数之间用一个空格隔开。
样例
输入
5 4 3 2 5 1
输出
1 2 3 4 5
来源
原创