排序效率拟
专 业:
班 级:
姓 名:
指导教师:
二OO九年 八月 二十七 日
目 录
1课程设计目 1
2课程设计题目描述求 1
3课程设计报告容 1
4课程设计总结 7
参考书目 8
源代码 9
课程设计容:
1课程设计目
C++编程序排序方法进行拟选定排序方法进行排序输出种方法数拟交换次数输出花费时间
2课程设计题目描述求
[问题描述]排序法进行拟拟运行效率
[根求]少三种排序方法进行拟拟方法生成组数(≥400)
〔1〕三种方法四百数字进行排序
〔2〕time函数分测试三种排序方法组数排序消耗时间
〔3〕分测试三种排序方法组数排序交换次数
3课程设计报告容
31 结构图
〔1〕功结构图
排序效率 拟
测试选择排序
需时间
测试泡排序
需时间
测试插入排序
需时间
〔2〕数流程图
函数main
测试选择 排序
测试泡 排序
测试插入 排序
调Time函数
调选择排序函数
调Time函数
调泡排序函数
调Time函数
调插入排序函数
开始
32 函数功描述
〔1〕Time()
{
long beginTime clock()获开始时间单位毫秒
* * * * * * * * * * * * * * * * * * 程序
long endTimeclock()获结束时间
cout<
作:测试意程序运行时间单位毫秒
〔2〕void T1 (int *a)
作:测试选择排序时间先调Time函数记录开始时间调选择排序函数〔拟相邻两数放面然数沉底排列〕记录交换次数结束时间
〔3〕void T2 (int *a)
作:测试选择泡时间先调Time函数记录开始时间调泡排序函数〔拟相邻两数放前面然数浮排列〕记录交换次数结束时间
〔4〕void T1 (int *a)
作:测试插入排序时间先调Time函数记录开始时间调插入排序函数〔先两数拟然插入数分左右拟数前数排列排列〕记录交换次数结束时间
33 测试结果分析
〔1〕增加模块
〔2〕分析:实际数分说明三种排序运行效率
4课程设计总结
通年数结构程序设计学已够进行简单程序设计次课程设计学知识起检测提高作然已完成缺乏处程序设计中遇少问题例进行排序算法边写Time函数应等等通学讨交流解决少问题程序调试程中少问题例标点菜单界面设计等
课程设计完成感觉收获设计前清晰思路完整设计提纲功函数作做详细考虑细心次课程设计中起关键作标点字母符号导致程序运行耐心认真完成然知识缺少学期学知识够真正掌握加运利完成次课程设计果磁盘文件学精通点磁盘文件读取数
参考书目:
谭浩强C++程序设计北京清华学出版社2006年
源代码:
#include
#include
using namespace std
int t1t2t3
void T1 (int *a)
{
long beginTime clock()获开始时间单位毫秒
int ijktn10
for(i0i<399i++){
ki
for(ji+1j<400j++)
if(a[j] {
kj
ta[i]
a[i]a[k]
a[k]t
n1++
} 选择排序
}
for(i0i<400i++)
cout< long endTimeclock()获结束时间
cout<
cout<
}
void T2 (int *a)
{
long beginTime clock() 获开始时间单位毫秒
int ijktn20
for(i0i<399i++){
ki
for(ji+1j<400j++)
if(a[j] kj
ta[i]
a[i]a[k]
a[k]t
{
n2++
}
} 起泡排序
for(i0i<400i++)
cout< long endTimeclock() 获结束时间
cout<
cout<
void T3(int *a){
long beginTime clock() 获开始时间单位毫秒
int ijn400n30b
for(i2i<400i++){
ba[i]
for(ji1b a[j+1]a[j]
a[j+1]b
{
n3++
}
插入排序
}
for(i1i
cout<
cout<
void main()
{
int a[401]
for(int i0i<401i++)
a[i](401i)
T1(a) 分调函数
T2(a)
T3(a)
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档