#Z01206. 排序算法——计数排序

排序算法——计数排序

题目描述

计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。

算法的步骤如下:

		(1)找出待排序的数组中最大和最小的元素
	


	
		(2)统计数组中每个值为i的元素出现的次数,存入数组C的第i项
	


	
		(3)对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加)
	


	
		(4)反向填充目标数组:将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1

输入格式

第一行输入一个正整数n,表示数组长度(1

第二行包括n个整数。分别表示a1,a2,a3……an (1

输出格式

输出升序之后的数组

5
1 3 6 2 4
1 2 3 4 6