数据结构实验的报告_第1页
数据结构实验的报告_第2页
数据结构实验的报告_第3页
数据结构实验的报告_第4页
数据结构实验的报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、考试编号: _四川师大数据结构考试报告2011年3月27日计算机科学学院09级4组实验名称:线性表实验姓名:侑燕敏学号: 2009110468指导老师:李敏实验成绩: _一、实验目的和要求1 )精通线性表的基本演算的2种记忆构造(顺序构造和连锁构造)上的实现2 )着重实现线性表的各种操作(制作、插入、删除等)3 )通过本次实习,学生可以加深高级语言c语言的使用(特别是函数残奥仪表、指针类型、链表的使用)。2 )仔细阅读并掌握本实验的参考程序,用上机执行本程序,保存并打印程序的执行结果,结合程序进行分析。 根据对线性表的操作需要,改写主程序并运行,打印文件列表和执行结果。二、实验内容1 )编程实

2、现线性表两个存储结构中基本操作的实现(线性表的制作、插入、删除和检索),设定修改完成各功能调用的主菜单。三、实验的主要流程、基本操作或核心代码、算法片段(如果本部分填写不充分,请填写在附件中)。1顺序表:主函数main主要调用子函数initlist_sq(sq )序列表的创建、listinsert_sq(sq,s,number )序列表的插入、printnumber(sq )子函数initlist_sq(sq )完成序列表的创建功能,创建空表l,将空表长度设置为0,然后初始化存储容量。子函数listinsert_sq(sq,s,number )完成顺序表插入的功能,if(l-length=l-

3、listsize ) new base=(elemtype * ) realloc (l-elem,(l-listsizelistincrement ) * sizeof (elemtype ) )表示当前存储空间已满时,增加分配。 q=(l-elemi-1 ),q将插入位置、i-1的地址赋予q。 分别是: p=(l-elem l -长度-1 ); -p) *(p 1)=*p是插入位置和后续元素的向后移动。子函数listdelete_sq(sq,s,number完成序列表删除的功能)。 首先,用f(i1)|(il-length)returnerror判断i的值是否合法,如果不合法则为错误。 p

4、是被删除的元素的位置。 删除的元素后面的元素向左移动。连锁表主函数main主要包括子函数createlist_l(l,k )链表的创建、列表插入器_ l (l,m,n )链表的插入、列表删除器_ l (l,)子函数createlist_l(linklist *l,int n )完成链接表的创建功能。 输入n个元素的值以创建具有标题节点的单链表线性l。 (*l)-next=null首先创建起始节点的单链接表,* l=(链接列表) malloc (sizeof (lnode ) )在malloc中创建新节点,scanf p-next=null; tail-next=p; tail=tail -下一

5、个; 输入元素的值,并将其插入标题中。子函数listinsert_l(linklist *l,int i,elemtype *e )完成插入链接表的功能。 在while语句中找到第i-1个节点,然后选择s=(链接列表) malloc (sizeof (lnode ) ); s数据=* e; 下一个=下一个; 下一个=s; 生成新节点并将其插入到l中。子函数listdelete_l(linklist *l,int i )删除开头节点的单点线性表l中的第i个元素,并且完成返回该值的功能。 p -下一代; j; 语句查找第i个节点,使p指向其前体。 国际货币基金组织(下一个)| ji-1 )返回错误

6、。 q=下一个; p下一个=q下一个; 自由(q ); 删除场所是不合理的。 删除并释放节点。子函数display_all(linklist l,int length )用于显示由子函数处理的新数量。四、实验结果的分析和评价(如果这部分填写不充分,请填写在附件中)序列表: #include stdio.h 包括号. h 包括号包括号定义列表大小100定义列表增量10定义一号定义错误0定义溢出- 1类型输入状态;类型空间元素;超结构类型。elemtype *elem;英寸长度;int list大小;sqlist;状态初始列表(sqlist * l )。英特尔;l-elem=(电子* )大小(列表

7、_初始大小*大小)。国际货币基金组织l-elem (过流);l长度=0;列表大小=列表初始大小。打印机( how many number do you init )? n );扫描(“% d”,长度);for(i=0; 长度; 一)扫描( % d ,l-elemi );回复正常;是状态清单插入_ sq (清单* l、插入i、元素)。elemtype *新基础,*q,*p;if (i1| |长度1 )返回错误。国际长度=列表大小。新基础=(elemtype * ) realloc (l-elem,(l-listsizelistincrement ) * sizeof (elemtype ) )

8、:国际货币基金组织新基础(上溢);l-elem=新基础;列表大小=列表增量;是问题q=(l-elemi-1 ) :(p=(l-elem l -长度-1 )。 p=q; -p) *(p 1)=*p;*q=e;l -长度;回复正常;是状态清单删除_ sq (清单,英特尔,欧元)。elemtype *p,*q;if (| (il-length ) )返回器。p=(l-elemi-1 ) :*e=*p;q=l -电子长度- 1。福尔(p; p=q; p) *(p-1)=*p;l长度;回复正常;是状态打印机(列表l )。英特尔;printf ( thenumberyourputis :t ) :for(

9、i=0; 包括号包括号包括号包括号定义一号定义错误0定义空0定义溢出- 2类型空间元素;类型输入状态;类型结构节点。电子数据;结构节点*下一个;|链接列表;建立清单_ l (连结清单* l,int n)。英特尔;链接列表p、tail;tail=*l;* l=(链接列表) malloc (尺寸(节点) ) :下一个=空值;tail=*l;打印机( plase input the numbers ! n );for(i=0; idata );p-next=空值;tail-next=p;tail=tail -下一个;是回复正常;是链接列表,长度,显示全部。英特尔;打印机( the new numbe

10、rs are: n );for(i=0; 下一数据);l=下一个;是打印机(n );回复正常;是链接列表,链接长度。英寸=0;链接列表p;p=l -下一个;威尔!=空值)。长度;p=下一个;是返回长度;是状态列表插入_ l (链接列表,插入i,元素* e )。元素类型j;链接列表p、s;p=*l;j=0;pj下一代;j; 是国际货币基金组织恢复错误,返回错误。链接列表大小(小节点) :s数据=* e;下一个=下一个;下一个=s;回复正常;是状态列表删除_ l (链接列表* l,入口)。元素类型j;链接列表p、q;p=*l;j=0;p -下一代;j; 是国际货币基金组织(下一个)| ji-1 )返回错误。q=下一个;p下一个=q下一个;自由(q );回复正常;是链接列表、英特尔、欧元* e

温馨提示

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

评论

0/150

提交评论