公司员工的年龄排序
来源:互联网 发布:虚拟股华为知乎 编辑:程序博客网 时间:2024/04/28 18:10
取值范围一定(0-100),且远小于记录数的排序(可能上万)。
这是如果可以使用O(n)的辅助空间,可以使时间复杂度降低到O(n)。
用age[10]模拟年龄1-10。25个数据模拟员工数。age数组记录下标表示的年龄人数。统计完age相当于排好了序,然后写入data数组就可以。
#include <stdio.h>#include <stdlib.h>void sort(int data[],int length){ int age[10],i,j,c = 0; if(data == NULL || length <= 0) return; for(i = 0;i < 10;i++){ age[i] = 0; } for(i = 0;i < length;i++){ if(data[i] < 0 || data[i] > 10) return; age[data[i]] ++; } for(i = 0;i < 10;i++) for(j = 0;j < age[i];j++) data[c++] = i;}void main(){ int d[25] = {1,2,3,4,5,4,6,5,4,8,4,7,2,5,5,5,3,9,7,7,4,6,7,5,8},i; sort(d,25); for(i = 0;i < 25;i++) printf("%d ",d[i]);}
0 0
- 公司员工的年龄排序
- 排序算法--对公司员工年龄的排序
- 公司员工年龄的排序,时间效率为O(n)
- 【剑指 offer】—— 为公司员工的年龄排序
- 《剑指offer》:[13]对几万公司员工年龄的排序算法
- 剑指offer-公司员工的年龄
- 对公司员工年龄进行排序,java实现
- 某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间
- 实现一个算法,对公司员工年龄进行排序,时间效率要求O(n)
- 实现一个算法,对公司员工年龄进行排序,时间效率要求O(n)
- 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。
- 姓名,年龄,成绩的排序
- 对公司员工的采访
- 年龄排序
- 对公司所有员工的年龄排序
- 对公司所有员工的年龄排序
- 集合的一些应用 扑克牌 年龄排序
- 集合的一些应用 扑克牌 年龄排序
- J2EE 使用pinyin4j实现汉字转换拼音
- JS调试工具:Venkman(JavaScript Debugger)
- 第四周-作业及实验
- UIEvent | UITouch | timestamp
- 让网站留住用户
- 公司员工的年龄排序
- Android中Context详解 ---- 你所不知道的Context
- 《APUE》chapter 5 Standard I/O libary 学习笔记(加上自己的代码)
- 去string左右空格
- 防止表单重复提交的几种策略
- Android学习笔记(九):Service总结
- 近30种数据结构总结
- 使用const保护数组
- Burp Suite教程+学习经历分享