2023年数据结构内排序实验报告.pdf

上传人:无*** 文档编号:90921107 上传时间:2023-05-18 格式:PDF 页数:7 大小:603.16KB
返回 下载 相关 举报
2023年数据结构内排序实验报告.pdf_第1页
第1页 / 共7页
2023年数据结构内排序实验报告.pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2023年数据结构内排序实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年数据结构内排序实验报告.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一、实验目的1、了解内排序都是在内存中进行的。2、为了提高数据的查找速度,需要对数据进行排序。3、掌握内排序的方法。二、实验内容1、设计一个程序exp 101.cpp实现直接插入排序算法,并输出 9,8,7,6,5,4,3,2,1,0 的排序过程。(1)源程序如下所示:文献名:exp 1 0-1.cpp#inc 1 ude#define MAXE 20”/线性表中最多元素个数t y p e d e f int KeyTy p e;t ypedef c har In f oTypel 0;t y ped e f s t ruct 记录类型(dKe y Ty p e key;超关键字项dnf o

2、T y p e d ata;M其他数据项,类型为I n f oTy p e Re c Type;void Insert S o r t(R e c T ype R,i n t n)/对 R 0 n-1按递增有序进行直接插入排序(“n t i,j,k;BR e cType temp;d f or(i=l;i=0&t e mp.k e yRj.k e y)j+1=RU;”/将关键字大于R i.k e y 的记录后移j)Rj+l=t e m p 在 j+1 处插入 R i。pr i ntf(i=%d,i)泸。/输出每一趟的排序结果p r in t f(插入 d,结果为:,tem p);f o r(k

3、=0;kn;k+)ogprin t f(%3d ,R k.key);prin t f(n);)vo i d m a in()int i,k,n=l 0;KeyType a=9,8,7,6,5,4,3,2,1,0;oRecType R MAXE;fo r(i=0;i n;i+)R i.k e y=ai;prin t f(“初始关键字:);/输出初始关键字序列for(k=0;kn;k+)pr i nt f(%3 d ,R k.k e y);printf(n);InsertSor t(R,n);P rintf(最后结果:);。输出初始关键字序列for(k=0;k一臣一臣一臣一引一日二口二日二目一日日

4、n、云一冠冠五冠冠军君萄3kSAn二-nS21234567894e初L=i=L=L=i=L=787654698?7987210354321498?6244449876133333987690222222987111111198000000009continue4322463874364782、设计一个程序exp 10 2.c p p 实现希尔插入排序算法,并输出 9,8,7,6,5,4,3,2,1,0 的排序过程。(1)源程序如下所示:文献名:e xplO 2.cpp#inclu d e#d efi n e MAXE 20。/线性表中最多元素个数typedef int Key T y pe;t

5、yp e d e f c h a r InfoT y p e10;t ypede f str u ct/记录类型(K e yType k e y;#关键字项Info T y p e data;。/其他数据项,类型为 InfoType R e cType;void Shell S ort(R e cType R,i n t n)o 希尔排序算法int i,j,d,k;R e c T y p e temp;d=n/2;。”/d 取初值 n/2w h ile(d0)(wfor(i=d;i=0&R j.keyRj+d.key)d d tern p=R j;Rj与 Rj+d互换,Rj=Rj+d;3 R

6、j+d=t emp;s j=j-d;8 )P rintf(d=%d:”,d);。输出每一趟的排序结果f o r(k=0;kn;k+)。p rintf(%3d,Rk.key);。叩 r i ntf(n);d=d/2;/递减增量d)v o id main()“nt i,k,n=10;KeyTy p e a=9,8,7,6,5,4,3,2,1,0;R e cType RMAXE;for(i=0;in;i+)R i.ke y=ai;P r i ntf(初始关键字:);。/输出初始关键字序列f or(k=0;k n;k+)printf(%3d,R kJ.key);p rin t f(n );Shell

7、S ort(R,n);prin t f(“最后结果:,);/输出初始关键字序列for(k=0;k n;k+)。p rin t f(%3d,Rk.key);pri n tf(n n );)(2)结果如下图所示:初 始 关 键 字:9 8 7 6 5 4 3 2 1 0d=5:4321098765d=2:0123456789d=l:0123456789最后结果:0123456789Press any key to continue-3、设计一个程序e xplO3.cpp实现冒泡排序算法,并输出 9,8,7,6,5,4,3,2,1,0)的排序过程。(1)源程序如下所示:文献名:e x pl 0-3.

8、c p p#i n clud e#def i n e MAXE 2 0。/线性表中最多元素个数typedef int Ke y Typ e;t ypedef char I n f oType 10;ty p e d e f str u c t。记录类型K e yType key;/关键字项I n f oT y p e d at a;/其他数据项,类型为Inf o Ty p e Rec Type;v o id B u b b 1 eSo rt(RecT y pe R,i nt n)/冒泡排序算法(。i n t i,j,k;RecT y pe temp;f o r(i=0;ii;j-)”/比较,找

9、出本趟最小关键字的记录if(Rj.keyR j-l.key)d o 0。temp=R E j;Rj 与 进 行 互 换,将最小关键字记录前移 RLj=R E J-1;Rj-l=temp;)prin t f(”i=%d,冒出的最小关键字:d,结 果 沏”,i,Ri.key);/输出每一趟的排序结果for(k=0;kn;k+)oo print f(”%2 d ,Rk.key);pri ntf(n);)void m a in()int i,k,n=10;KeyTyp e a=9,8,7,6,5,4,3,2,1,0;RecTypeR MAXE;fo r(i=0;in;i+)R i.k e y=a i ;op rint f(初始关键字:);输出初始关键字序列for(k=0;k n;k+)pr i ntf(%2d,R Ek.key);p r i n t f(n);Bubb 1 e Sort(R,n);p r intf(最后结果:“);”/输出初始关键字序列for(k=0;km力=iiiii16,7,8,后esli=|1=曰取pr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁