欢迎来到天天文库
浏览记录
ID:52199564
大小:154.50 KB
页数:12页
时间:2020-03-24
《数据结构实验报告(同名7971).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、南京信息工程大学数据结构实验(实习)报告实验(实习)名称内排序实验(实习)日期2012.5.30得分指导老师宣文霞系计算机系专业网络工程班级1姓名袁盼学号201023002421、需求分析(1)实现直接插入排序算法编写一个程序实现直接插入排序过程,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。输出形式例如:初始关键字9876543210排序次数i=18976543210i=27896543210……最后结果:0123456789(2)——实现希尔插入排序算法编写一个程序实现希尔插入排序过程,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。(3)实
2、现冒泡排序算法编写一个程序实现冒泡排序过程,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。(4)实现快速排序算法编写一个程序实现快速排序过程,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。(5)实现直接选择排序算法编写一个程序实现直接排序过程,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程。2.设计一、直接插入排序#include#defineMAXE20typedefintKeyType;typedefcharInfoType[10];typedefstruct/*记录类型*/{KeyTypekey;/*关键字项
3、*/InfoTypedata;/*其他数据项,类型为InfoType*/}RecType;voidInsertSort(RecTypeR[],intn)/*对R[0..n-1]按递增有序进行直接插入排序*/{inti,j,k;RecTypetemp;for(i=1;i=0&&temp.key4、rintf("i=%d",i);/*输出每一趟的排序结果*/for(k=0;k5、(R,n);printf("最后结果");/*输出初始关键字序列*/for(k=0;k#defineMAXE20/*线性表中最多元素个数*/typedefintKeyType;typedefcharInfoType[10];typedefstruct/*记录类型*/{KeyTypekey;/*关键字项*/InfoTypedata;/*其他数据项,类型为InfoType*/}RecType;voidShellSort(RecTypeR[]6、,intn)/*希尔排序算法*/{inti,j,d,k;RecTypetemp;d=n/2;/*d取初值n/2*/while(d>0){for(i=d;i=0&&R[j].key>R[j+d].key){temp=R[j];/*R[j]与R[j+d]交换*/R[j]=R[j+d];R[j+d]=temp;j=j-d;}}printf("d=%d:",d);/*输出每一趟的排序结果*/for(k=0;k7、n");d=d/2;/*递减增量d*/}}voidmain(){inti,k,n=10;KeyTypea[]={9,8,7,6,5,4,3,2,1,0};RecTypeR[MAXE];for(i=0;i
4、rintf("i=%d",i);/*输出每一趟的排序结果*/for(k=0;k5、(R,n);printf("最后结果");/*输出初始关键字序列*/for(k=0;k#defineMAXE20/*线性表中最多元素个数*/typedefintKeyType;typedefcharInfoType[10];typedefstruct/*记录类型*/{KeyTypekey;/*关键字项*/InfoTypedata;/*其他数据项,类型为InfoType*/}RecType;voidShellSort(RecTypeR[]6、,intn)/*希尔排序算法*/{inti,j,d,k;RecTypetemp;d=n/2;/*d取初值n/2*/while(d>0){for(i=d;i=0&&R[j].key>R[j+d].key){temp=R[j];/*R[j]与R[j+d]交换*/R[j]=R[j+d];R[j+d]=temp;j=j-d;}}printf("d=%d:",d);/*输出每一趟的排序结果*/for(k=0;k7、n");d=d/2;/*递减增量d*/}}voidmain(){inti,k,n=10;KeyTypea[]={9,8,7,6,5,4,3,2,1,0};RecTypeR[MAXE];for(i=0;i
5、(R,n);printf("最后结果");/*输出初始关键字序列*/for(k=0;k#defineMAXE20/*线性表中最多元素个数*/typedefintKeyType;typedefcharInfoType[10];typedefstruct/*记录类型*/{KeyTypekey;/*关键字项*/InfoTypedata;/*其他数据项,类型为InfoType*/}RecType;voidShellSort(RecTypeR[]
6、,intn)/*希尔排序算法*/{inti,j,d,k;RecTypetemp;d=n/2;/*d取初值n/2*/while(d>0){for(i=d;i=0&&R[j].key>R[j+d].key){temp=R[j];/*R[j]与R[j+d]交换*/R[j]=R[j+d];R[j+d]=temp;j=j-d;}}printf("d=%d:",d);/*输出每一趟的排序结果*/for(k=0;k7、n");d=d/2;/*递减增量d*/}}voidmain(){inti,k,n=10;KeyTypea[]={9,8,7,6,5,4,3,2,1,0};RecTypeR[MAXE];for(i=0;i
7、n");d=d/2;/*递减增量d*/}}voidmain(){inti,k,n=10;KeyTypea[]={9,8,7,6,5,4,3,2,1,0};RecTypeR[MAXE];for(i=0;i
此文档下载收益归作者所有