计数排序
比如对一个班的学生成绩进行倒着排序:
1、找到最高分96分,找到最低分11分
2、申请一个数组,数组大小为96-11=85,将11~96都填充到该数组中,并在该表格(临时数组)中统计每个分数出现的次数,比如27分出现的次数为0,那么在此表格中记录它的次数为0,如果有2个同学考了58分,则记录出现的次数为2。
3、再找到每个分数比它自己低的分数的个数。比如11分为最低分,比11分低的分数个数为0。以此类推,如果是分数相同的,则比自己成绩还低的个数上要累加,如果有2个58分的,对于元素组中的第一个是第6名,原数组中的第二个58则为第7名。以此类推...
分数 | 该成绩出现的次数 | 比自己还低成绩的个数 |
11 | 1 | 0 |
12 | 1 | 1 |
13 | 0 | 2 |
14 | 0 | <