1 / 7
文档名称:

数据结构内排序实验报告记录.doc

格式:doc   大小:144KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构内排序实验报告记录.doc

上传人:phl0420371 2019/10/20 文件大小:144 KB

下载得到文件列表

数据结构内排序实验报告记录.doc

文档介绍

文档介绍:数据结构内排序实验报告记录————————————————————————————————作者:————————————————————————————————日期: 实验目的了解内排序都是在内存中进行的。为了提高数据的查找速度,需要对数据进行排序。掌握内排序的方法。实验内容设计一个程序exp10—,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。源程序如下所示://文件名:exp10-#include<>#defineMAXE20 //线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct //记录类型{ KeyTypekey; //关键字项 InfoTypedata; //其他数据项,类型为InfoType}RecType;voidInsertSort(RecTypeR[],intn)//对R[0..n-1]按递增有序进行直接插入排序{ inti,j,k; RecTypetemp; for(i=1;i<n;i++) { temp=R[i]; j=i-1; //从右向左在有序区R[0..i-1]中找R[i]的插入位置 while(j>=0&&<R[j].key) { R[j+1]=R[j]; //将关键字大于R[i].key的记录后移 j--; }R[j+1]=temp; //在j+1处插入R[i] printf("i=%d,",i); //输出每一趟的排序结果 printf("插入%d,结果为:",temp); for(k=0;k<n;k++) printf("%3d",R[k].key); printf("\n"); }}voidmain(){ inti,k,n=10; KeyTypea[]={9,8,7,6,5,4,3,2,1,0}; RecTypeR[MAXE]; for(i=0;i<n;i++) R[i].key=a[i]; printf("初始关键字:"); //输出初始关键字序列 for(k=0;k<n;k++) printf("%3d",R[k].key); printf("\n"); InsertSort(R,n); printf("最后结果:"); //输出初始关键字序列 for(k=0;k<n;k++) printf("%3d",R[k].key); printf("\n");}运行的结果如下图所示:设计一个程序exp10—,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。源程序如下所示://文件名:exp10-#include<>#defineMAXE20 //线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct //记录类型{ KeyTypekey; //关键字项 InfoTypedata; //其他数据项,类型为InfoType}RecType;voidShellSort(RecTypeR[],intn) //希尔排序算法{ inti,j,d,k; RecTypetemp; d=n/2; //d取初值n/2 while(d>