要求:对公司的员工年龄进行排序,员工人数大约万名左右,可使用常量大小的辅助空间,要求时间效率为O(n)。
实现思路:使用一个额外的辅助数组用来记录同龄的员工数目。
实现如下:
代码解读:
1)
// 初始化一个odlAge+1的数组
int[] timeOfAge = new int[oldAge + 1];
// 将数组元素都置为0
for (int i = 0; i < timeOfAge.length; i++) {
timeOfAge[i] = 0;
}
timeOfAge[]的长度为81,元素全部为0
2)age[0]=23,于是timeOfAge[23]=1; age[1]=45,于是timeOfAge[45]=1;age[ 2]=32,于是timeOfAge[32]=1;
.....age[4]=21,于是timeOfAge[21]=2;以此类推timeOfAge数组对应年龄的位置设置多少次
// 某个年龄出现了多少次,就在timeOfAge数组对应年龄的位置设置多少次
for (int j = 0; j < age