希尔排序和快速排序_第1页
希尔排序和快速排序_第2页
希尔排序和快速排序_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验内容:对希尔排序、快速排序、归并排序任意选择两种排序方法进行比较。任意选择希尔排序、快速排序、归并排序中两种排序方法,对任意给定一组数据:单增、单减、乱码等,对它们进行比较分析。#includeusing namespace std;void ShellSort(int r , int n)int temp;int d,i,j;d=n/2;while(d0)for(i=d;i=0&temprj)rj+d=rj;j=j-d;rj+d=temp;d=d/2;void QuickSort(int r , int first, int end)int i,j;i=first;j=end; /初始化

2、int temp;if(firstend)temp=ri;while (ij) while (ij & ri= rj) j-; /右侧扫描 ri=rj; /将较小记录交换到前面while (ij & ri= rj)i+; /左侧扫描rj=ri; /将较大记录交换到后面ri=temp;QuickSort(r, first, i-1); /递归地对左侧子序列进行快速排序 QuickSort(r, i+1, end); /递归地对右侧子序列进行快速排序void print(int r,int n)for(int i=0;in;i+)coutri;return;int main()int Increa

3、se110=0,1,2,3,4,5,6,7,8,9;int Increase210=0,1,2,3,4,5,6,7,8,9;int Decline110=9,8,7,6,5,4,3,2,1,0;int Decline210=9,8,7,6,5,4,3,2,1,0;int OutOfOrder110=6,5,1,4,2,3,7,0,9,8;int OutOfOrder210=6,5,1,4,2,3,7,0,9,8;cout应用希尔排序对“单增”进行排序endl;ShellSort(Increase1,10);print(Increase1,10);coutendl;cout应用快速排序对“单增”

4、进行排序endl;QuickSort(Increase2,0,9);print(Increase2,10);coutendl;cout应用希尔排序对“单减”进行排序endl;ShellSort(Decline1,10);print(Decline1,10);coutendl;cout应用快速排序对“单减”进行排序endl;QuickSort(Decline2,0,9);print(Decline2,10);coutendl;cout应用希尔排序对“乱序”进行排序endl;ShellSort(OutOfOrder1,10);print(OutOfOrder1,10);coutendl;cout应用快速排序对“乱序”进行排序endl;QuickSort(OutOfOrder2,0,9);print(OutOfOrder2,10);coutendl;return 0;总结:希尔排序为插入排序中的一种,其时间复杂度在最坏的情况下为O(n2),在最好的情况下为O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论