3837: 计数排序1
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:14
解决:10
题目描述
1.计数排序
计数排序平均时间复杂度:o(n+k)(平方)、空间复杂度:o(k)、稳定排序、外部排序
1.1算法描述
计数排序,不是基于元素比较,而是利用数组下标确定元素的正确位置。
1.2排序演示
待排序列:9 3 5 4 9 1 2 7 8 1 3 6 5 3 4 0 10 9 7 9
先便利这个无序的数列,让每一个整数按照值对号入座,对应数组下标的元素加1。
统计结果如下图所示:
数组值:|1 2 1 3 2 2 1 2 1 4 1|
下表值:|0 1 2 3 4 5 6 7 8 9 10|
直接便利数组,输出数组元素的下标值,元素的值是几就输出多少次。
输出结果为:
0 1 1 2 3 3 3 4 4 5 5 6 7 7 8 9 9 9 9 10
计数排序平均时间复杂度:o(n+k)(平方)、空间复杂度:o(k)、稳定排序、外部排序
1.1算法描述
计数排序,不是基于元素比较,而是利用数组下标确定元素的正确位置。
1.2排序演示
待排序列:9 3 5 4 9 1 2 7 8 1 3 6 5 3 4 0 10 9 7 9
先便利这个无序的数列,让每一个整数按照值对号入座,对应数组下标的元素加1。
统计结果如下图所示:
数组值:|1 2 1 3 2 2 1 2 1 4 1|
下表值:|0 1 2 3 4 5 6 7 8 9 10|
直接便利数组,输出数组元素的下标值,元素的值是几就输出多少次。
输出结果为:
0 1 1 2 3 3 3 4 4 5 5 6 7 7 8 9 9 9 9 10
输入
第一行输入一个数n;
第二行输入n个数ai,表示要排列的数;
输出
输出排序好的数,用空格格开;
样例输入 复制
20
9 3 5 4 9 1 2 7 8 1 3 6 5 3 4 0 10 9 7 9
样例输出 复制
0 1 1 2 3 3 3 4 4 5 5 6 7 7 8 9 9 9 9 10
提示
n<=100;0<=ai<=1000