用计数排序解决员工年龄问题:

计数排序:
int age[101]; // 特别注意:0号位不用,长度要设为101,最大下标才能是100。
代码:
#include<iostream>
using namespace std;
void countSort(int arr[],int length){
int age[101]; //特别注意:0号位不用,长度要设为101,最大下标才能是100
for(int i=1;i<=100;i++){
age[i]=0;
}
for(int i=0;i<length;i++){
age[arr[i]]++;
}
for(int i=1;i<=100;i++){
while(age[i]){
cout<<i<<" ";
age[i]--;
}
}
}
int main(){
int n; //员工人数
cin>>n;
int arr[n]; //存放员工年龄
for(int i=0;i<n;i++){
cin>>arr[i];
}
countSort(arr,n);
return 0;
}
结果:

本文介绍了一种使用计数排序算法解决员工年龄排序问题的方法。通过初始化一个大小为101的数组,忽略0号位,实现了对员工年龄的有效排序。代码首先清空数组,然后读取员工年龄并进行计数,最后输出排序后的年龄列表。
2590

被折叠的 条评论
为什么被折叠?



