您的位置:首页 > 其它

剑指off-给员工年龄排序

2015-07-13 11:57 204 查看
//题目给几万个员工的年龄排序,要求时间复杂度是O(n);
//第一步先统计1-99,然后给arr重新赋值
//这是计数排序? 这个在值范围比较小的时候用的辅助空间不多得时候应该非常快
void AgesSort(int arr[],int length)
{
int oldest=99;
int rangeold[100]={0};
for (int i=0; i<length; i++) {
rangeold[arr[i]]++;
}
int index=0;
for (int i=0; i<=oldest; i++) {
for (int j=0; j<rangeold[i]; j++) {
arr[index++]=i;

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: