欢迎来到天天文库
浏览记录
ID:38493536
大小:61.00 KB
页数:5页
时间:2019-06-13
《数据结构内排序实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的1、了解内排序都是在内存中进行的。2、为了提高数据的查找速度,需要对数据进行排序。3、掌握内排序的方法。二、实验内容1、设计一个程序exp10—1.cpp实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。(1)源程序如下所示://文件名:exp10-1.cpp#include#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{KeyTypekey;//关键字项InfoTypedata;//其他数据项,类型
2、为InfoType}RecType;voidInsertSort(RecTypeR[],intn)//对R[0..n-1]按递增有序进行直接插入排序{inti,j,k;RecTypetemp;for(i=1;i=0&&temp.key3、结果为:",temp);for(k=0;k4、0;k#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{KeyTypekey;//关键字项InfoTypedata;//其他数据项,类型为In5、foType}RecType;voidShellSort(RecTypeR[],intn)//希尔排序算法{inti,j,d,k;RecTypetemp;d=n/2;//d取初值n/2while(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;k6、d",R[k].key);printf("");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;i7、].key);printf("");}(1)结果如下图所示:1、设计一个程序exp10—3.cpp实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。(1)源程序如下所示://文件名:exp10-3.cpp#include#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{
3、结果为:",temp);for(k=0;k4、0;k#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{KeyTypekey;//关键字项InfoTypedata;//其他数据项,类型为In5、foType}RecType;voidShellSort(RecTypeR[],intn)//希尔排序算法{inti,j,d,k;RecTypetemp;d=n/2;//d取初值n/2while(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;k6、d",R[k].key);printf("");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;i7、].key);printf("");}(1)结果如下图所示:1、设计一个程序exp10—3.cpp实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。(1)源程序如下所示://文件名:exp10-3.cpp#include#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{
4、0;k#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{KeyTypekey;//关键字项InfoTypedata;//其他数据项,类型为In
5、foType}RecType;voidShellSort(RecTypeR[],intn)//希尔排序算法{inti,j,d,k;RecTypetemp;d=n/2;//d取初值n/2while(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;k6、d",R[k].key);printf("");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;i7、].key);printf("");}(1)结果如下图所示:1、设计一个程序exp10—3.cpp实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。(1)源程序如下所示://文件名:exp10-3.cpp#include#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{
6、d",R[k].key);printf("");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;i7、].key);printf("");}(1)结果如下图所示:1、设计一个程序exp10—3.cpp实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。(1)源程序如下所示://文件名:exp10-3.cpp#include#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{
7、].key);printf("");}(1)结果如下图所示:1、设计一个程序exp10—3.cpp实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。(1)源程序如下所示://文件名:exp10-3.cpp#include#defineMAXE20//线性表中最多元素个数typedefintKeyType;typedefcharInfoType[10];typedefstruct//记录类型{
此文档下载收益归作者所有