• 大小: 3.92MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-29
  • 语言: C/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 << “个数的顺序数列进行排序\n\n“;

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

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

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

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

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

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

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

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


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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           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  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\vc140.idb
     文件      413696  2016-09-08 09:47  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\vc140.pdb
     文件         418  2016-09-08 09:47  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\各种排序算法时间性能的比较.log
     目录           0  2016-09-08 14:05  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\各种排序算法时间性能的比较.tlog\
     文件         696  2016-09-08 09:47  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\各种排序算法时间性能的比较.tlog\CL.command.1.tlog
     文件       11482  2016-09-08 09:47  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\各种排序算法时间性能的比较.tlog\CL.read.1.tlog
     文件         696  2016-09-08 09:47  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\各种排序算法时间性能的比较.tlog\CL.write.1.tlog
     文件        1350  2016-09-08 09:47  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\各种排序算法时间性能的比较.tlog\link.command.1.tlog
     文件        2690  2016-09-08 09:47  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\各种排序算法时间性能的比较.tlog\link.read.1.tlog
     文件         680  2016-09-08 09:47  各种排序算法时间性能的比较\各种排序算法时间性能的比较\Debug\各种排序算法时间性能的比较.tlog\link.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个文件信息

评论

共有 条评论