排序算法--对公司员工年龄的排序
来源:互联网 发布:气象数据共享服务网 编辑:程序博客网 时间:2024/05/14 02:13
/*.................................//排序算法--对公司员工的年龄排序,要求时间效率O(n)解题思路: 公司员工的年龄有一个范围 这里规定0~99 用长度100的整数数组作为辅助空间换来了O(n)的时间效率。*/#include<stdio.h>#define N 10void SortAges(int ages[],int length){int i ;if(ages == NULL ||length <= 0)return ;const int oldAge = 99; //年龄的允许范围是0~99int timeOfAge[oldAge+1];for(i = 0;i<=oldAge;i++) //将数组timeOfAge[0]~timeOfAge[99]初始化为0timeOfAge[i] = 0;for(i = 0;i<length;++i){int age = ages[i]; //员工年龄if(age < 0||age > oldAge)printf("age out of range\n");++timeOfAge[age];// 其年龄下标对应的数组位置大小加1 ,即用来统计每个年龄出现的次数}int index = 0;for(i = 0;i <= oldAge;i++){int j ;for(j = 0;j<timeOfAge[i];++j){ages[index] = i; //某个年龄出现了多少次,就在数组ages里设置几次该年龄++index;}}}int main(){int age[N];int i;printf("请输入员工的年龄:\n");for(i = 0;i<N;i++){scanf("%d",&age[i]);}SortAges(age,N);printf("排序后员工的年龄:\n");for(i = 0;i<N;i++)printf("%d ",age[i]);return 0;}#endif
阅读全文
0 1
- 排序算法--对公司员工年龄的排序
- 《剑指offer》:[13]对几万公司员工年龄的排序算法
- 公司员工的年龄排序
- 对公司员工年龄进行排序,java实现
- 实现一个算法,对公司员工年龄进行排序,时间效率要求O(n)
- 实现一个算法,对公司员工年龄进行排序,时间效率要求O(n)
- 某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间
- 公司员工年龄的排序,时间效率为O(n)
- 【剑指 offer】—— 为公司员工的年龄排序
- 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。
- 对公司所有员工的年龄排序
- 对公司所有员工的年龄排序
- 对员工的年龄进行排序
- 员工年龄排序算法
- 剑指offer-公司员工的年龄
- 采用封装的思想对学生姓名成绩年龄排序
- Java实现对公司所有员工的年龄排序
- 对公司员工的采访
- linux send与recv函数详解
- 数据库设计的---三大范式
- AJAX 基础理论学习笔记
- Python-learning-SMACH-Notes
- apache+mod_jk+tomcat集群配置要点
- 排序算法--对公司员工年龄的排序
- 基于STM32 HAL库在Makefile+GCC-ARM上面的工程编译
- 222. Count Complete Tree Nodes
- 不能在本机启动SQL Server服务 错误代码13
- 关于adb shell procrank提示procrank: not found的问题解决
- Kotlin开发Android系列文章(一)——初识Kotlin
- 开发中碰到的问题:token null is not valid; is your activity running?
- Maven学习总结(22)——Maven settings.xml配置解读
- Android Animation动画原理源码分析(内容已经转移到另一篇)