线性表(C)循环链式存储.ppt_第1页
线性表(C)循环链式存储.ppt_第2页
线性表(C)循环链式存储.ppt_第3页
线性表(C)循环链式存储.ppt_第4页
线性表(C)循环链式存储.ppt_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

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

文档简介

1、2.5线性表的其他存储方法、循环网络链接表、l、a1、ai-1、ai、ai、连接单网络链接表的首尾,将终端节点的指针字段从空的指针变更为开头节点,构成单循环网络链接表,简称循环网络链接表。2.5线性表的其他存储方法、循环网络链接表、循环网络链接表是否为空的条件、L-next=L单网络链接表是否为空的条件、L-next=NULL、L-next=L为真、L- next!=L为真、l、a1、ai-1、an、2.5线性表的其他存储方法、循环网络链接表插入、循环网络链接表的插入操作与单一网络链接表的插入操作相同,将void xhInsert(LinkList L,int i,ElemType x) /*

2、作为第i-1个否j=0; p -下一个!=L j;if(p-next=L,2.5线性表的其他记忆方法、循环网络链接表的插入、与网络链接表的插入操作有什么不同? I的值的范围1,n 1,in 1或者i1,l,a1,ai-1,ai 1,2.5线性表的其他存储方法,循环网络链接表的删除操作与网络链接表的删除操作相同if(p-next-next=L,2.5线性表的其他记忆方法、循环网络链接表的删除、与网络链接表的删除操作有什么不同? I的可取值范围为1、n、in或i1,如何查找起始节点和终止节点?2.5线性表的其他记忆方法、循环网络链接表、开始节点: L-next末尾节点:扫描一次单一网络链接表,时间

3、为O(n ),有没有更简单的方法? 星空卫视节点: rear-next-next末端节点: rear、2.5线性表的其他存储方法、循环网络链接表、带尾指针的循环网络链接表、一个存储结构是否合理设计,取决于基于该存储结构的化学基运算是否方便、时间性能是否提高、查找尾部也很方便,查找尾部也很方便,星空卫视节点: rear-next-next尾部节点: rear,2.5线性表的其他记忆方法,尾部带指针循环网络链接表的-插入,p,插入操作: p=rear-next; j=0; 其馀与单向式循环网络链接表的插入相同,开始节点: rear-next-next结束节点: rear,2.5线性表的其他存储方法

4、,带尾指针的循环网络链接表的-删除,p,删除操作: p=rear-next; j=0; 其馀与单向式循环网络链接表的删除相同,如何求出双重网络链接表、2.5线性表的其他存储方法、节点p的直接前驱、时间性能? 为什么能够迅速地求出节点p的后继? 如何快速地获得节点p的前驱物? 双重网络链接表:在一重网络链接表的各节点上,再设置一个指向其前驱节点的指针结构域。双重网络链接表、节点结构:data :数据结构域、存储数据要素prior :存储该节点的前驱节点地址的指针结构域next :指针结构域存储该节点的后续节点地址。2.5线性表的其他的存储方法,1.3,双向循环网络链接表,空表,非空表,a1 a2

5、 . an,、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、的、 开头节点的next开头节点的prior结构域存储末尾节点的地址,l、l、双向循环网络链接表为空的条件: L-next=L struct DulNode *prior、*next; 杜路德,*杜林基斯; 2.5线性表的其他记忆方法,双重网络链接表,提示? 时间和时间的权衡,节点结构的定义:双向网络链接表的初始化,/*初始化函数*/int initDLinkList(DuLinkList,空表,l,双向网络链接表的操作插入,s-prior=p; 下一个=下一个; p下一代等级

6、=s; p下一个=s; 2.5线性表的其他的记忆方法,ai-1,操作接口: void du insert (双列表l,int i,ElemType x ); 注意、指针修改的相对顺序,int insdlinklist (双列表l、int i、元素x )双列表p=l; /工作指针指向起始节点DuLinkList newp用于指向新节点int j=0计数器0 /工作指针p指向第i-1个节点while(p-next!=L /然后在下一个方向上查找插入位置,/newp=newdownlnode; 新数据=x; 下一个=下一个; 新前辈=p; 下一代=下一代; 下一个=下一个; 返回1;双网络链接表的操作删除、p-next=q-next; q -下一步等级=p; 2.5线性表的其他存储方法,操作接口: void du delete (双列表l,int i,元素类型,ai-1,ai 1,delete q; q=下一个; 在下一个方向上找到要删除的节点,int deldlinklist (双列表l、int i、元素/后跟q=p-next; x=q -数据; p下一个=q下一个; 下一步等级=p; 删除q; 返回1; 在本章中,总结了线性表、逻辑结构、存储结构、基本概念、抽象数据类型定义

温馨提示

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

评论

0/150

提交评论