




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、试验内容内部排序算法效率比拟平台的设计与实现、试验目的问题描述:各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概 执行时间.试通过随机的数据比拟几种主要的根本算法的关键字比拟次数和关键字移动次 数,以取得直观感受.三、流程图开始序简单项选择择排序直接插入排希尔排结束四、源程序代码#define N 10int compare6=0,0,0,0,0,0,change6=0,0,0,0,0,0;void input(int s)int testN;srand(unsigned)time(NULL);for(int i=0;i<N;i+)testi=rand()%100
2、;for(int j=0;j<i;j+)while(testj=testi)testi=rand()%N; j=0;)for(i=0;i<=N-1;i+) si=testi;)void swap(int &a,int &b)int tmp;tmp=a;a=b;b=tmp;)void insertsort(int s)int i,j;int aN+1;for(i=1;i<=N;i+)ai=si-1;)for(i=2;i<=N;i+)a0=ai;for(j=i;j>0&&a0<aj-1&&(+compare0);j
3、-) aj=aj-1;change0+;)aj=a0;change0+;)void bubble_sort(int s,int n)int i,j,temp,aN;for(i=0;i<n;i+)ai=si;)for(i=0;i<n-1;i+)for(j=0;j<n-i-1;j+)(compare1+;if(aj > aj+1) (temp = aj;aj = aj+1;aj+1 = temp;change1+;int partition(int a口,int low,int high)(int t,key;t=alow;key=alow;while(low<hig
4、h)(while(low<high&&ahigh>=key) (high-;+compare2; if(low<high)(alow=ahigh;low+;change2+;while(low<high&&alow<=key) (low+;+compare2;if(low<high)(ahigh=alow;high-;change2+;alow=t;) return low;)void quicksort(int a,int low,int high)(int key;if(low<high)(key=partition
5、(a,low,high); quicksort(a,low,key-1);quicksort(a,key+1,high);)void selectsort(int s,int n)(int i,j,k,aN;int t;for(i=0;i<n;i+)(ai=si;)for(i=0;i<n-1;i+)(j=i;for(k=i+1;k<=n-1;k+)(if(ak<aj&&(+compare3) j=k;) if(j!=i)(t=ai;ai=aj;aj=t;change3+;)void shellinsertsort(int s,int n)(int i,k
6、,aN;k=int(n/2);for(i=0;i<n;i+)(ai=si;)for(int gap = n/2; gap > 0; gap /= 2)(for(int i = gap; i < n; i+)(int tmp = ai;int j = i;for(; j > 0 && tmp < aj-gap; j -= gap) (aj = aj-gap;compare4+;)aj = tmp;change4+;)void heap_adjust(int array,int i,int len)(int rc = arrayi;for(int j
7、= 2 * i; j <len; j *= 2)(if(j < len && arrayj < arrayj+1) j+;(compare5+;if(rc >= arrayj) break;)arrayi = arrayj; i = j;)arrayi = rc;)void heap_sort(int a,int len)(int i;for(i = (len-1)/2; i >= 0; i-)heap_adjust(a,i,len);for( i = (len-1); i > 0; i-)(swap(a0,ai);change5+;弹出最大
8、值,重新对i-1个元素建堆heap_adjust(a,0,i-1);) void CMyDlg:OnButton1()(/ TODO: Add your control notification handler code here UpdateData(TRUE);int s10,a10;input(s);for(int i=0;i<N;i+)( ai=si;)CString str100;for(i=0;i<100;i+) stri=ai;for(i=0;i <N;i+)( stri.Format("%i,",ai);/把整型数组添加到字符串m_shuj
9、u1+=stri;)insertsort(s);m_zhijie1=compare0;m_zhijie2=change0;quicksort(a,0,N-1);m_kuaisu1=compare2;m_kuaisu2=change2;selectsort(s,N);m_jiandan1=compare3;m_jiandan2=change3;shellinsertsort(s,N);m_xier1=compare4;m_xier2=change4;heap_sort(a,N);m_dui1=compare5;m_dui2=change5;bubble_sort(s,N);m_maopao1=compare1;m_maopao2=change1;CString str2100;for(i=0;i<100;i+) str2i=si;for(i=0;i <N;i+) str2i.Format("%i,",ai);把整型数组添加到字符串m_shuju2+=str2i;UpdateData(FALSE);五、调试过程对于算法的设计,除了希尔排序和堆排序之外,都比拟简单,要注意每种排序的起
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手房买卖委托合同
- 厂房设备租赁合同协议合同书
- 委托车辆维修合同
- 航空航天飞行器结构强度模型验证步骤
- 工程监理聘用合同
- 安全施工生产协议
- 低密轻奢-宜居社区住宅建筑方案
- 废气在线设备运维管理合同
- 农业种植技术与管理题库题目及答案
- 宾馆经营装修合同
- GB/T 2565-2014煤的可磨性指数测定方法哈德格罗夫法
- GB/T 17574.11-2006半导体器件集成电路第2-11部分:数字集成电路单电源集成电路电可擦可编程只读存储器空白详细规范
- 快手磁力聚星知识考试题库及答案
- 学校卫生监督协管巡查记录
- 《勾股定理在实际生活中的应用》教学反思
- 游泳池给水排水安装工程识图
- 配位键和配位化合物课件
- 政 审 表打印模板
- 成人心肺复苏(双人)课件
- 苏教版数学二年级下册《认识时分》教案(无锡公开课)
- 《民航地面服务与管理》项目六课件
评论
0/150
提交评论