欢迎来到天天文库
浏览记录
ID:58663335
大小:85.50 KB
页数:5页
时间:2020-10-15
《实验一-分治法合并排序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本科实验报告课程名称:算法设计与分析实验项目:分治法合并排序实验地点:专业班级:学号:学生姓名:指导教师:实验一分治法合并排序一、实验目的1.掌握合并排序的基本思想2.掌握合并排序的实现方法3.学会分析算法的时间复杂度4.学会用分治法解决实际问题二、实验内容随机产生一个整型数组,然后用合并排序将该数组做升序排列,要求输出排序前和排序后的数组。一、实验环境程序设计语言:c++编程工具:microsoftvisualstudio2010二、算法描述和程序代码#include#include#inc
2、lude#include#defineM11typedefintKeyType;typedefintElemType;structrec{KeyTypekey;ElemTypedata;};typedefrecsqlist[M];classguibing{public:guibing(sqlistb){for(inti=0;i3、<b[j].key)k=j;if(k!=i){rectemp=b[k];b[k]=b[i];b[i]=temp;}}}voidmerge(intl,intm,inth,sqlistr2){xuanze(r,l,m);xuanze(r,m,h);output(r,M);inti,j,k;k=i=l;for(j=m;i4、[i].key<=r[j].key){r2[k]=r[i];i++;}else{r2[k]=r[j];j++;}output(r2,M);}while(j5、rand()%80;b[i].key=0;}guibinggx(a);cout<<"排序前数组:";gx.output(a,M);cout<<"数组排序过程演示:";gx.merge(j,k,n,b);cout<<"排序后数组:";gx.output(b,M);cin.get();}一、实验结果截图二、实验总结
3、<b[j].key)k=j;if(k!=i){rectemp=b[k];b[k]=b[i];b[i]=temp;}}}voidmerge(intl,intm,inth,sqlistr2){xuanze(r,l,m);xuanze(r,m,h);output(r,M);inti,j,k;k=i=l;for(j=m;i4、[i].key<=r[j].key){r2[k]=r[i];i++;}else{r2[k]=r[j];j++;}output(r2,M);}while(j5、rand()%80;b[i].key=0;}guibinggx(a);cout<<"排序前数组:";gx.output(a,M);cout<<"数组排序过程演示:";gx.merge(j,k,n,b);cout<<"排序后数组:";gx.output(b,M);cin.get();}一、实验结果截图二、实验总结
4、[i].key<=r[j].key){r2[k]=r[i];i++;}else{r2[k]=r[j];j++;}output(r2,M);}while(j5、rand()%80;b[i].key=0;}guibinggx(a);cout<<"排序前数组:";gx.output(a,M);cout<<"数组排序过程演示:";gx.merge(j,k,n,b);cout<<"排序后数组:";gx.output(b,M);cin.get();}一、实验结果截图二、实验总结
5、rand()%80;b[i].key=0;}guibinggx(a);cout<<"排序前数组:";gx.output(a,M);cout<<"数组排序过程演示:";gx.merge(j,k,n,b);cout<<"排序后数组:";gx.output(b,M);cin.get();}一、实验结果截图二、实验总结
此文档下载收益归作者所有