数据结构课程设计(C++代码+报告)--各种排序算法时间性能的比较


大二时做的课程设计,快速排序、冒泡排序、堆排序等共6种排序算法的时间比较。其中包含一份写好的报告和C++写的程序,通俗易懂。
资源截图
代码片段和文件信息
#include“排序实现.h“
#include 
#include 
using namespace std;

//产生顺序数列
void SequentialList(SortSqList&L) {
for (int i = 1; i <= L.length; i++)
L.r[i].key = i;
}
//产生逆序数列
void ReverseList(SortSqList&L) {
for (int i = 1; i <= L.length; i++)
L.r[i].key = L.length - i + 1;
}
//产生随机数列
void RandomList(SortSqList&L int x int y) {
srand((unsigned)time(NULL));
for (int i = 1; i <= L.length; i++)
L.r[i].key = rand() % (y - x + 1) + x; //产生x与y之间的随机数
}

//用顺序数列测试
void SequentialListTest() {
SortSqList SqList;
SqList.length = 4000;
SequentialList(SqList);
clock_t start finish; //计时的开始和结束
double totaltime; //总用时


cout << “将生成“ << SqList.length << “个数的顺序数列进行排序

“;

cout << “顺序数列生成完毕“;
start = clock();//计时开始
InsertSort(SqList);
finish = clock();//计时结束
totaltime = (double)(finish - start) / CLOCKS_PER_SEC;//计算用时
cout << “
直接插入排序比较次数、移动次数分别为“ << CompCounter << “、“ << MovCounter << endl;
cout << “用时“ << totaltime << “秒

“;

cout << “顺序数列生成完毕“;
start = clock();
MergeSort(SqList);
finish = clock();//计时结束
totaltime = (double)(finish - start) / CLOCKS_PER_SEC;//计算用时
cout << “
归并排序比较次数、移动次数分别为“ << CompCounter << “、“ << MovCounter << endl;
cout << “用时“ << totaltime << “秒

“;

cout << “顺序数列生成完毕“;
start = clock();//计时开始
QuickSort(SqList);
finish = clock();//计时结束
totaltime = (double)(finish - start) / CLOCKS_PER_SEC;//计算用时
cout << “
快速排序比较次数、移动次数分别为“ << CompCounter << “、“ << MovCounter << endl;
cout << “用时“ << totaltime << “秒

“;

cout << “顺序数列生成完毕“;
start = clock();//计时开始
HeapSort(SqList);
finish = clock();//计时结束
totaltime = (double)(finish - start) / CLOCKS_PER_SEC;//计算用时
cout << “
堆排序比较次数、移动次数分别为“ << CompCounter << “、“ << MovCounter << endl;
cout << “用时“ << totaltime << “秒

“;

cout << “顺序数列生成完毕“;
int dlta[6] = { 364121401341 };//增量序列
start = clock();
ShellSort(SqList dlta 6);
finish = clock();//计时结束
totaltime = (double)(finish - start) / CLOCKS_PER_SEC;//计算用时
cout << “
希尔排序比较次数、移动次数分别为“ << CompCounter << “、“ << MovCounter << endl;
cout << “用时“ << totaltime << “秒

“;

cout << “顺序数列生成完毕“;
start = clock();//计时开始
BubbleSort(SqList);
finish = clock();//计时结束
totaltime = (double)(finish - start) / CLOCKS_PER_SEC;//计算用时
cout << “
冒泡排序比较次数、移动次数分别为“ << CompCounter << “、“ << MovCounter << endl;
cout << “用时“ << totaltime << “秒

“;

cout << “顺序数列生成完毕“;
start = clock();//计时开始
SelectSort(SqList);
finish = clock();//计时结束
totaltime = (double)(finish - start) / CLOCKS_PER_SEC;//计算用时
cout << “
选择排序比较次数、移动次数分别为“ << CompCounter << “、“ << MovCounter << endl;
cout << “用时“ << totaltime << “秒



“;
system(“pause“);
}

//用逆序数列测试
void ReverseListTest() {
SortSqList SqListSqList2;
SqList.length = 4000; SqList2.length = SqList.length;
ReverseList(SqList);
clock_t start finish; //计时的开始和结束
double totaltime; //总用时


cout << “将生成“ << SqList.length << “个数的顺序数列进行排序


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-09-08 14:05  各种排序算法时间性能的比较.vs
     目录           0  2016-09-08 14:05  各种排序算法时间性能的比较.vs各种排序算法时间性能的比较
     目录           0  2016-09-08 14:05  各种排序算法时间性能的比较.vs各种排序算法时间性能的比较v14
     文件       35840  2016-09-19 16:20  各种排序算法时间性能的比较.vs各种排序算法时间性能的比较v14.suo
     目录           0  2016-09-08 14:05  各种排序算法时间性能的比较Debug
     文件       67584  2016-09-08 09:47  各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.exe
     文件      605880  2016-09-08 09:47  各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.ilk
     文件     1339392  2016-09-08 09:47  各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.pdb
     文件         500  2016-09-20 13:57  各种排序算法时间性能的比较README.txt
     文件    10964992  2016-09-19 16:20  各种排序算法时间性能的比较各种排序算法时间性能的比较.sdf
     文件        1399  2016-08-31 20:35  各种排序算法时间性能的比较各种排序算法时间性能的比较.sln
     目录           0  2016-09-19 16:20  各种排序算法时间性能的比较各种排序算法时间性能的比较
     目录           0  2016-09-08 14:05  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug
     文件      429056  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debugvc140.idb
     文件      413696  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debugvc140.pdb
     文件         418  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.log
     目录           0  2016-09-08 14:05  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.tlog
     文件         696  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.tlogCL.command.1.tlog
     文件       11482  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.tlogCL.read.1.tlog
     文件         696  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.tlogCL.write.1.tlog
     文件        1350  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.tloglink.command.1.tlog
     文件        2690  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.tloglink.read.1.tlog
     文件         680  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.tloglink.write.1.tlog
     文件         257  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug各种排序算法时间性能的比较.tlog各种排序算法时间性能的比较.lastbuildstate
     文件      118480  2016-09-08 09:47  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug源.obj
     文件       91357  2016-09-03 16:18  各种排序算法时间性能的比较各种排序算法时间性能的比较Debug源.obj.enc
     文件        5802  2016-08-31 21:12  各种排序算法时间性能的比较各种排序算法时间性能的比较各种排序算法时间性能的比较.vcxproj
     文件        1069  2016-08-31 21:12  各种排序算法时间性能的比较各种排序算法时间性能的比较各种排序算法时间性能的比较.vcxproj.filters
     文件        6481  2016-09-19 16:20  各种排序算法时间性能的比较各种排序算法时间性能的比较排序实现.h
     文件       12177  2016-09-08 00:05  各种排序算法时间性能的比较各种排序算法时间性能的比较源.cpp
     文件      200169  2016-10-08 00:49  设计说明书(排序算法时间性能比较).docx
............此处省略0个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)