- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(快速、基数)排序算法的设计
实验三: (快速、基数)排序算法的设计
一、实验目的和要求
(1) 深刻理解排序的定义和各种排序方法的特点,并能灵活运用。
(2) 掌握常用的排序方法,并掌握用高级语言实现排序算法的方法。
(3) 了解各种方法的排序过程及其依据的原则,并掌握各种排序方法的性能的分析方法。
二、实验内容和原理
(1)设计直接插入排序、冒泡排序、快速排序算法。
(2)设计基数排序算法。
三、实验环境
1. 硬件:PC机;
2. 软件:Windows操作系统、Visual C++ 6.0
四、算法描述及实验步骤
直接插入排序
在要排序的一组数中,假设前面(n-1) [n=2] 个数已经是排?好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数?也是排好顺序的。如此反复循环,直到全部排好顺序。?
冒泡排序
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上?而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较?小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要?求相反时,就将它们互换。?
快速排序算法
通过一趟?扫描后,使得排序序列的长度能大幅度地减少。在冒泡排序中,一次?扫描只能确保最大数值的数移到正确位置,而待排序序列的长度可能只?减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧)?的左边各数都比它小,右边各数都比它大。然后又用同样的方法处理?它左右两边的数,直到基准点的左右只有一个元素为止。
基数排序算法
五、调试过程
六、实验结果
1、
2、
3、
4、
七、总结
通过这次实验,对于多种排序有了一定地了解,在这次实验过程中,虽然遇到挺多的困难,但是我还是认真的对待。同时意识到我对这些方面的知识还是了解的不够深刻。
附录:
1、#include iostream.h
int a[100];
void insertsort(int n,int a[])
{
int i,j;
for(i=2;i=n;i++)
if(a[i]a[i-1])
{
a[0]=a[i];
a[i]=a[i-1];
for(j=i-2;a[0]a[j];j--)
a[j+1]=a[j];
a[j+1]=a[0];
}
}
int main()
{
int n,i;
cinn;
for(i=1;i=n;i++) {
cina[i];
}
insertsort(n,a);
for(i=1;i=n;i++){couta[i] ;
}
return 0;
}
2、#includeiostream.h
#define swap(x,y,t)((t)=(x),(x)=(y),(y)=(t))
const int N=5;
void sort(int b[],int count);
int main()
{
int a[N];
coutendl;
cout请输入:;
for(int i=0;iN;i++)
cina[i];
coutendl;
cout输出过程: ;
for(i=0;iN;i++)
cout a[i];
coutendl;
cout输出结果:;
sort(a,N);
return 0;
}
void sort(int b[],int n)
{
int t,tempt;
for(int i=0;in;i++)
{
t=n-i-1;
for(int j=0;jt;j++)
{
if(b[j]b[j+1])
swap(b[j],b[j+1],tempt);
}
}
for(i=0;iN;i++)
cout b[i];
}
3、#includeiostream.h
templateclass T
void quick_sort(T a[],int p,int r)
{
if(pr){
int q=partition(a,p,r);
quick_sort(a,p,q-1);
quick_sort(a,q+1,r);
}
}
templateclass T
int partition(T a[],int p,int r)
{
int i=p,j=r+1;
T x=a[p];
while(true){
while(a[++i]xir);
while(a[--j]x);
if(i=j)break;
swap(a[i],a[j]);
}
swap(a[j],a[p]
您可能关注的文档
- !急性ST段抬高型心肌梗死临床路径(含患者版).doc
- (5S实施指南).doc
- (一)直线的倾斜角与斜率复习课解析.ppt
- (七)服务承诺、质量保证和进度安排.doc
- (三)血液分析参数检测原理和临床意义.ppt
- (公开课)4.2.2积、商、幂的对数.ppt
- (四)设备管理要点.doc
- (必修5优秀课件)2.5等比数列的前n项和(第一课时).ppt
- (张俊松)心力衰竭的现代治疗观念.ppt
- (常用)电性能测试报告.doc
- 2010-2023历年浙江省湖州市菱湖中学高三上学期期中考试历史试卷(带解析).docx
- 2010-2023历年浙江省台州中学高一第二学期第一次统练试题.docx
- 2024至2030年拖鞋胶项目投资价值分析报告.docx
- 2024年中国防盗门配件市场调查研究报告.docx
- 2010-2023历年浙江省北仑中学高二下学期期中考试生物试卷.docx
- 2024年中国泥水分离器市场调查研究报告.docx
- 2024至2030年中国油画布行业投资前景及策略咨询研究报告.docx
- 2024至2030年中国PVC防水卷材一次成型生产线数据监测研究报告.docx
- 2024年中国彩色橡胶方型块市场调查研究报告.docx
- 2024年中国放电加工机电控箱市场调查研究报告.docx
最近下载
- acca历年真题汇总p4 jun.pdf
- ISO 56008-2024创新管理-创新运行测量的工具和方法-指南 (雷泽佳译-2024).docx VIP
- 第十一章电路及其应用章节复习(1课件)(课件)高二物理精讲练(人教版2019).pptx
- 环保型混凝土外加剂的可持续发展研究.pptx
- 声光火灾报警电路设计报告.doc
- 2024至2030年中国烯烃行业市场深度分析及投资前景分析报告.docx
- ISO 56007-2023创新管理 管理机会和想法的工具和方法 指南(雷泽佳译-2024).docx VIP
- 某检验科免疫组免疫室SOP文件.doc
- 地理人教版八年级上册从世界看中国-复习课教案.doc
- 风电机组的混合塔筒和风电机组.pdf VIP
文档评论(0)