线性表-其他链式存储课件_第1页
线性表-其他链式存储课件_第2页
线性表-其他链式存储课件_第3页
线性表-其他链式存储课件_第4页
线性表-其他链式存储课件_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

2.5线性表的其它存储方法循环链表La1ai-1an∧aip将单链表的首尾相接,将终端结点的指针域由空指针改为指向头结点,构成单循环链表,简称循环链表。2.5线性表的其它存储方法循环链表L空循环链表La1ai-1anai非空循环链表循环链表是否为空的条件是:L->next==L单链表是否为空的条件是:L->next==NULLL->next==L为真L->next!=L为真La1ai-1anai2.5线性表的其它存储方法循环链表——插入xspxspxsp算法描述:s=newNode;s->data=x;s->next=p->next;p->next=s;循环链表的插入操作与单链表的插入操作相同La1ai-1ai+1ai2.5线性表的其它存储方法循环链表——删除p算法描述:q=p->next;x=q->data;p->next=q->next;deleteq;循环链表的删除操作与单链表的删除操作相同anqvoidxhDelete(LinkListL,inti,ElemType&x){p=L;j=0;

while(p->next!=L&&j<i-1){p=p->next;j++;}

if(p->next==L||j>i-1)printf(“位置异常“);else//(p->next&&j==i-1){q=p->next;x=q->data;p->next=q->next;deleteq;}}2.5线性表的其它存储方法循环链表——删除与单链表的删除操作相比,差别是什么?如何查找开始结点和尾结点?2.5线性表的其它存储方法循环链表La1ai-1anai开始结点:L->next尾结点:将单链表扫描一遍,时间为O(n)有没有更简单的方法?reara1ai-1anai开始结点:rear->next->next终端结点:rear2.5线性表的其它存储方法循环链表带尾指针的循环链表一个存储结构设计得是否合理,取决于基于该存储结构的运算是否方便,时间性能是否提高。双链表2.5线性表的其它存储方法如何求结点p的直接前驱,时间性能?La1ai-1anaip为什么可以快速求得结点p的后继?如何快速求得结点p的前驱?双链表:在单链表的每个结点中再设置一个指向其前驱结点的指针域。双链表结点结构:priordatanextdata:数据域,存储数据元素;prior:指针域,存储该结点的前驱结点地址;next:指针域,存储该结点的后继结点地址。2.5线性表的其它存储方法typedefstructDulNode{ElemTypedata;structDulNode*prior,*next;}DulNode,*DuLinkList;

2.5线性表的其它存储方法双链表启示?时空权衡——空间换取时间priordatanext定义结点结构:双链表的操作——插入s->prior=p;s->next=p->next;p->next->prior=s;p->next=s;2.5线性表的其它存储方法ai-1ai操作接口:

voidduInsert(DuLinkListL,inti,ElemTypex);

pxs注意指针修改的相对顺序双链表的操作——删除p->next=q->next;

q->next->prior=p;

2.5线性表的其它存储方法操作接口:

voidduDelete(DuLinkListL,inti,ElemType&x);

ai-1aipai+1deleteq;qq=p->next;本章总结线性表逻辑结构存储结构基本概念抽象数据类型定义⑴线性表定义

温馨提示

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

评论

0/150

提交评论