程序设计题二:看谁排得快
无论是考试成绩、工资收入、房价、股票涨幅等各种数据都需要进行排序的工作。对于不同的原始数据集,用不同的方法得到有序序列的速度是不一样的。
本课题要求对于用户提供的原始数据,或由系统产生的随机数据集进行排序,用尽可能多的方法实现,分析排序所需要的时间与初始序列之间的关系,从而得出一个结论性的建议,怎样的序列用怎样的方法可以排得最快。
该程序需要具有以下功能:
(1)提供原始的数据:可以是用户提前输入到文件中的原始数据,或者系统调用随机函数产生的原始数据,或者是经过改造后的某种规律的原始数据集。
(2)用不同的方法进行由大到小或由小到大的排序。
(3)计算不同方法所需要使用的时间、排序的趟数等。
(4)将不同方法作用于不同数据集上的时间、排序趟数等运行结果形成一张报表文件存于后台以供分析
(5)分析报表数据,得出相应结论,显示出来以供参考。
(6)再任意提供测试数据集验证所给出的结论。
选做要求:
(1)分析报表数据形成的结论也再以表格形式存储到磁盘中作为永久性的参考文档。
(2)同学可以自拟扩展功能并实现。
(1)界面美观,交互方便,提供菜单选择。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
可以选择TC2.0、TC3.0、VC++6.0,DEV_C++等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。
传送门:https://pan.baidu.com/s/1AccbzDAwk6U3Sk00NdasvQ?pwd=1111