(本文是自己学习后的思想感悟,不附带代码加图片)
1、首先,计算排序需要额外申请两个空间,一个是存放对象排好序的空间,一个就是计算对象各个元素出现次数的空间。
2、两个函数:max_num(返回整型函数,功能:得到一个对象数组中的最大元素值)。counting_sort(返回已排好序数组下表,功能:反序遍历参数数组、将其值按照计数数组将参数数组中的每一个值放入到结果顺序数组的合适位置、形成排序数组)
3、max_num函数:定义一个变量max,然后遍历一遍数组,将最大值保存入max。
4、counting_sort函数:根据参数数组大小申请一个结果顺序数组、根据max来申请计数数组;首先统计参数数组中与计数数组下标相等的元素个数;然后统计小于等于元素x的数组中的个数;最后开始排序(每排好一个数,相应的要将计数数组相应元素值减1)