特点:
1.通过计数而不是比较来进行排序
2.适用于范围较小的整数序列排序
题目:
小名是一位一年级小学生今天老师留的作业是将4,2,2,3,3,4,2,1,0,1这十个数进行排序
请你写一个c++程序帮帮明。
提示:
计数排序因为计数排序适用于范围较小的整数序列排序并且适用于有重叠数字的整数序列
输入:
无
输出:
排好序的十个数
样例输入:
无
样例输出:
0 1 1 2 2 2 3 3 4 4
源代码及注释:
#include
排序过程;
假设输入的线性表L的长度为n,L=L1,L2,..,Ln;线性表的元素属于有限偏序集S,|S|=k且k=O(n),S={S1,S2,..Sk};则计数排序可以描述如下:
1、扫描整个集合S,对每一个Si∈S,找到在线性表L中小于等于Si的元素的个数T(Si);
2、扫描整个线性表L,对L中的每一个元素Li,将Li放在输出线性表的第T(Li)个位置上,并将T(Li)减1。
动态图: