- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
排序算法设计和比较
实验 排序算法
问题描述:利用直接插入排序、冒泡排序、快速排序
二、程序设计的基本思想,原理和算法描述:
(包括程序的结构,数据结构,输入/输出设计,符号名说明等)
符号说明:
m1,m2,m3 代表三种排序法的循环次数
a[],b[],c[] 分别用来存储三次排序的数据
temp 中间变量
n 参与排序的数字个数
maopao(a,n) 冒泡程序排序
zhicha(b,n) 直接插入排序
quick(a,h,l) 快速排序法
h 分块排序的上限
l 分块排序的下限
程序说明(结构,输入输出)
这个程序整个流程比较自然,一脉相传,即先输入要排序的个数,然后选择要输入的方式,将产生的数传到数组中,然后依次地用冒泡子程序,直接插入的程序,快速排序的方法,依次排序,并将排好的数输出,以及算法的时间复杂率。
3)程序流程图
三、源程序及注释:
#includestdio.h
#includetime.h
int m1=0;全局变量定义冒泡法循环的次数
int m2=0; 全局变量定义直接插入法循环的次数
int m3=0; 全局变量定义快速法循环的次数
int suiji(int a[],int n) ;随机生成目的数函数
{ int i,j,temp;
srand((unsigned)time(NULL)); srand播下一个种子
for(i=0;in;i++)
{
a[i]=rand()%100; rand得到的数为0到100,依次传到a[]中
printf( %d,a[i]);
} }
jianpan(int a[],int n) 键盘输入目的数函数
{ int i,j,k,l;
for(i=0;in;i++) 依次输入目的数
{
printf(input %dnumber:,i+1);
scanf(%d,a[i]);
}
}
maopao(int a[],int n) 冒泡法排序程序
{ int i,j,temp;
for(i=0;in-1;i++)
for(j=1;j(n-i);j++) ;具体的排序过程
{if(a[j]a[j-1])
{ temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
m1++; 计算循环次数
}
printf( Bubba the sorted nember:\n);
for(i=0;in;i++)
{ printf( %d,a[i]); 将排好的数依次显示
if((i+1)%5==0) printf(\n); 每输出5个数换行
}
printf(time effective:%d,m1); 输出冒泡法的时间效率m1
}
zhicha(int b[],int n) 直接插入排序子程序
{
int i,j,temp;
printf(\nDirect :\n);
for(i=1;in;i++)
{ temp=b[i];
for(j=i;j0tempb[j-1];--j) 具体排序过程
{b[j]=b[j-1];m2++;}
b[j]=temp;
}
for(i=0;in;i++)
{ printf( %d,b[i]); 将排好的数显示出来
if((i+1)%5==0) printf(\n);
}
printf(time effective:%d\n,m2);输出时间效率
}
quick(int c[],int l,int h) 快速排序法
{ int temp;
int i,j,k;
i=l;j=h;
if(lh)
{ temp=c[l];
while(ij)
{ while(ijc[j]temp);具体排序过程
{ j--; m3++;}
if(ij)
c[i++]=c[j];
while(ijc[i]temp)
{ i++; m3++;}
if(ij)
c[j--]=c[i];
}
c
您可能关注的文档
- iOS开发中多线程的那些事.docx
- CRM ABAP开发培训内容总结.doc
- openjms使用.doc
- 数据结构-实验4队列的基本操作.doc
- 自编停车场问题.doc
- Hibernate内部测试-笔试试卷.doc
- 小橘宝书P-Q.docx
- 数据结构树的实验.docx
- 2010年12月CET4真题及答案解析.doc
- 冀教版小学英语第六册 lesson 10 A walk in Beijing.doc
- [专精特新]金华永和氟化工有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]重庆升光电力印务有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]无锡巨力重工股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西凯安新材料集团股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江永昌电气股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]苏州中创铝业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]杭州汽轮铸锻有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江美声智能系统有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]汕头市虹桥包装实业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西亚中电子科技股份有限公司行业竞争力评级分析报告(2023版).pdf
文档评论(0)