下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验名称实验报告各种内排序算法的实现及性能比较T指导教师1实验类型设计实验学时2实验时间一、实验目的和要求(1) 理解和掌握各种排序算法。(2) 学会比较排序方法的性能。、实验环境(实验设备)硬件:微型计算机软件: Windows 操作系统、Microsoft Visual Studio 2015三、实验原理及内容QSortQuickSortJ A,j-11A,0,n-1A,n,A,left,right yInsertSortQSort改进的快速排序template <classT>void QuickSort (T A 口,int n)IQSort(A , 0, n - 1);实
2、验报告template <classT> void QSort(T A口,int left,int right)int i, j;if (left < right)i = left; j = right + 1;if (j-i < 10) 如果子集合小于10个元素时改用直接插入排序InsertSort(A, j-i);elsedo do i+; while (Ai < Aleft);do j-; while (Aj > A left);if (i < j) Swap(Ai, Aj); while (i < j);Swap(Aleft, Aj);Q
3、Sort(A, left, j - 1);QSort(A, j + 1, right);随机数发生器const int N = 1000;template<class T>void randomizer。* a)srand(time(NULL );for (int i = 0; i < N; i+ )ai = rand() % 10000;各内排序时间计算函数template<class T>void Showtime (void (*Order)(T A , int n),T Adouble time;clock_t start, end;cout <&l
4、t; "Total time-consuming: "start = clock ();开始计时for (int i = 0; i < 1000; i+ )Order(A, N);randomizer (A);end = clock();结束计时time = (double)(end - start) / CLOCKS PER SEC ;耗时为两者差值除以 clock中每秒的值cout << time << endl;/main函数中各内排序算法调用函数计算时间的语句段简单选择排序时间计算cout << "nSelectS
5、ort:" << endl;Showtime (SelectSort, a);直接插入排序时间计算cout << "nInsertSort:" << endl;Showtime (InsertSort, a);冒泡排序时间计算cout << "nBubbleSort:" << endl;Showtime (BubbleSort, a);快速排序时间计算cout << "nQuickSort:" << endl;Showtime (QuickS
6、ort, a);两路合并排序时间计算cout << "nMergeSort:" << endl;Showtime (MergeSort, a);测试结果如图:HB C:WI N DOW5system 3 2c md. exe X以下所有排序算法所用时间均是排序"0。次一个长度力10Q0的随机数组的总时间,SelectSort:Total time-consuming: L 865InsertSort:Total time-consuming: 04 944BubbleSort:Total time-consuming: 10. 0039ui
7、ckSort:Total time-consuming: 04 233MergeSort:Total time-consiuning : 0* 6S8请按任意撞继续. . 鲍 C:Wl N DOWSXsy5tem32c md. &xe C X结果表明:速度:改进的快速排序 两路合并排序 直接插入排序 简单选择排序 冒泡排序。四、实验小结(包括问题和解决方法、心得体会、意见与建议等)(一)实验中遇到的主要问题及解决方法问题:InsertSort函数模版已被定义的错误。解决方法:百度错误类型得知,应该是在main.cpp文件中调用头文件QuickSort.h 与InsertSort.h ,而 QuickSort.h 中已经包含了 InserSort.h 文件。问题:快速排序的时间反而比冒泡排序的时间长。解决方法:手工运算代码中的两个排序计算语句段,发现每次调用排序算法函数后没有将随机 数组重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024个人财产连带责任担保协议样本版B版
- 2024企业劳动协议标准化管理方案版
- 上海市奉贤区2024-2025学年九年级上学期期中英语试题(解析版)
- 2024年专业化妆品租赁协议版B版
- 佳木斯大学《政府与非营利组织会计》2021-2022学年第一学期期末试卷
- 2024商业门面租赁范本协议版B版
- 暨南大学《综合英语Ⅳ》2021-2022学年第一学期期末试卷
- 暨南大学《数据库系统原理》2021-2022学年第一学期期末试卷
- 2024年专业电工施工承包合同样本一
- 暨南大学《材料力学》2020-2021学年第一学期期末试卷
- 中国急性心衰指南课件
- 外贸参展全攻略
- 第七单元、数学广角-植树问题 (课件) -2024-2025学年五年级上册数学人教版
- 酒店与单位协议价合同范本(2024版)
- 重点传染病防治 -常见与新发再发传染病智慧树知到答案2024年中国医科大学
- DL∕T 1745-2017 低压电能计量箱技术条件
- 创新创业心理学智慧树知到期末考试答案章节答案2024年东北农业大学
- 高级俄语 Ⅰ智慧树知到期末考试答案章节答案2024年黑河学院
- 【单元测试卷】《呼吸与消化》单元检测C卷
- 机器设备更新及厂房翻新改造项目可行性研究报告写作模板-备案审批
- 人教版三年级数学上册第十单元《总复习》(大单元教学设计)
评论
0/150
提交评论