数据结构实验直接插入排序和希尔排序_第1页
数据结构实验直接插入排序和希尔排序_第2页
数据结构实验直接插入排序和希尔排序_第3页
数据结构实验直接插入排序和希尔排序_第4页
数据结构实验直接插入排序和希尔排序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验五第10章直接插入排序和希尔排序一、直接插入排序【源程序】#include#include#include#defineLENGTH10#defineMAXSIZE10typedefintKeyType;typedefstructKeyTypekey;RedType;typedefstructRedTyperMAXSIZE+1;intlength;SqList;voidInit_L(SqList&L)初始化静态表inti;L.length=LENGTH;printf(”请输入%d个数据元素!n,L.length);for(i=1;i=L.length;i+)scanf(%d,&L.ri);

2、voidDisplay(SqListL)/显示静态表内容printf(表中内容为:);inti;for(i=1;i=L.length;i+)printf(%d,L.ri);printf(n);voidInsertSort(SqList&L)对顺序表L作直接插入排序inti,j;for(i=2;i=L.length;+i)if(L.ri.keyvL.ri-l.key)/v,需将L.ri插入有序子表L.r0=L.ri;复制为哨兵L.ri=L.ri-1;for(j=i-2;(L.r0.keyL.rj.key);-j)L.rj+l=L.rj;记录后移L.rj+l=L.rO;插入到正确位置printf(

3、第%d次排序时”,i-1);Display(L);/InsertSortvoidmain()intj,t;SqListL;t=1;printf(printf(voidmain()intj,t;SqListL;t=1;printf(printf(printf(printf(*欢迎使用直接插入排序程序.*n)静态表的初始化*n);直接插入排序*n);退出操作*n);竹*竹*竹*while(t)printf(n请选择需要使用的功能:”);scanf(%d,&j);while(t)printf(n请选择需要使用的功能:”);scanf(%d,&j);switch(j)case1:Init_L(L);D

4、isplay(L);break;case2:printf(直接排序过程如Tn);InsertSort(L);break;case3:t=0;Display(L);printf(”退出操作,谢谢使用!n);break;default:printf(输入错误!请重新输入!谢谢【程序运行截图】X沢退田操:3232323218235679容为:578101214蜃番择需雯使用的功能詣直备操作,谢谢使用!Pressanykeytocontinue幘选择需要使用的功能情输入10个数据元素?12107814518567923宸中内容为:12107814518567923M:NXE序KMXX沢退田操:3232

5、323218235679容为:578101214蜃番择需雯使用的功能詣直备操作,谢谢使用!Pressanykeytocontinue幘选择需要使用的功能情输入10个数据元素?12107814518567923宸中内容为:12107814518567923M:NXE序KMXX欢迎使用直接插态表的幕76581541872110765815418211077658154121108776581541211087765814121108757658141211087576581412110875765814121108757653281412110875为为为为为为为为为容容容容容容容容容-内内内内内

6、内内内内口口口口口口口口口朗表表表表表表表表表st&t&t&t&t.st&t&t&t一二_.一二.二二_.一二.二二_.一二.二需序站站硼站目择.抄先#-八123456789怖下FFF【ffi.程【源程序】#include#include#include#defineLENGTH10#defineMAXSIZE10#defineT3typedefintKeyType;typedefstructKeyTypekey;RedType;typedefstructRedTyperMAXSIZE+1;intlength;SqList;voidInit_L(SqList&L)初始化静态表inti;L.le

7、ngth=LENGTH;printf(”请输入%d个数据元素!n,L.length);for(i=1;i=L.length;i+)scanf(%d,&L.ri);voidDisplay(SqListL)显示静态表内容printf(表中内容为:);inti;for(i=1;i=L.length;i+)printf(%d,L.ri);printf(n);voidShellInsert(SqList&L,intdk)/对顺序表L作一趟希尔插入排序inti,j;for(i=dk+1;i0&(L.r0.keyL.rj.key);j-=dk)L.rj+dk=L.rj;记录后移,查找插入位置L.rj+dk=L.r0;插入/ShellInsertvoidShellSort(SqList&L,intdlta,intt)按顺序增量序列dltaO.t-l对顺序表L作希尔排序intk

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论