用计数排序解决员工年龄问题:
计数排序:
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;
}
结果: