后台开发人员作业
编辑时间:
- 2017年3月28日10:52:02
作业名称:
- 模仿qsort() 实现一个通用排序函数:msort()。
作业截止期限:
- 本周六下午 17:00 前
提醒:
- 模仿qsort() 实现一个通用排序函数:msort()。
如果采用其他语言,比如python ,则不必采用以下文件结构,但是应该‘照猫画虎’,领会以下的各种要求,合适的采用其他语言分别实现其功能:模块分离、运行、测试
必须用到以下几个文件:
- msort.c 实现排序函数
- generate_data.h 声明随机数相关函数
- main.c 这个文件里不实现任何排序相关的内容
- generate_data.c 根据传入参数,产生指定数量的随机数
- msort.h 排序相关函数的声明 (可能还需要结构体的声明)
- test_generate_data.c 测试 generate_data.c 的所有函数
- test_msort.c 测试 msort.c 的所有函数
- Makefile 一键编译这个作业
函数依赖:
- 排序算法的时间复杂度应该为 nlog(n)
- 排序时,不可以调用任何第三方排序函数
文件保存在同一级目录下:
- msort目录
验收要求:
生成验收:
在作业目录(msort)下:
- 执行 make 命令,则生成 msort
- 执行 make test, 则生成 test_msort
- 执行 make clean, 则清空所有由 make 相关指令生成的文件
执行验收:
- 生成验收通过后,在作业目录(msort)下 执行 ./msort MAX_VALUE TOTAL_NUMS输出数据
- 打印生成的随机数总数,随机数的最大值 TOTAL_NUMS, MAX_VALUE(独占一行
- 打印生成的随机数, 每行规定显示为 10 个,每个数字之间以‘逗号’分开
- 打印排序所耗费的时间 (独占一行)
- 打印排序后的数字,显示格式与2相同
测试验收:
- 执行 ./test_msort
- 依次次输出每个函数的‘声明’,然后是四个空格,接着 输出 OK 或者 FAILED
- OK 需要红色字体
- FAILED 需要绿色字体
作业提交方式:
- 代码放在 github
- 截图与作业总结放在 blog
- 博文第一行放置作业在 github 的地址
- 通过邮箱发送 自己的作业
- 邮件标题: 姓名-完成时间
- 邮件正文:blog链接
- 随着作业的开展,每完成或者实现一定的功能,则进行提交
- 提交时,注明必要的提交说明
- 完成作业后,应该有不少于5次提交