链表、双向链表、循环链表.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
链表、双向链表、循环链表

判断题: (1)线性表的逻辑顺序与存储顺序总是一致的。 F T T T F (2)顺序存储的线性表可以按序号随机存取。 (3)在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。 (4)在线性表的顺序存储结构中,插入和删除时移动元素的个数与该元素的位置有关。 (5)在单链表中,要取得某个元素,只要知道该元素的指针即可,因此单链表是随机存取的存储结构。 假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是 A) free(q); p-next=q-next; B) (*p).next=(*q).next; free(q); C) q=(*q).next; (*p).next=q; free(q); D) q=q-next;p-next=q;p=p-next; free(p); head 8 4 3 p q date next 练1 练2 head ? E F \0 p date next G s 若已建立如下图所示的单向链表结构,在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是 A) p =p-next; s-next=p; p-next=s; B) p =p-next; s-next=p-next; p-next=s; C) s-next=NULL; p=p-next; p-next=s; D) p=(*p).next; (*s).next=(*p).next; (*p).next=s; 要点回顾 线性结构(包括表、栈、队、数组)的定义和特点: 仅一个首、尾结点,其余元素仅一个直接前驱和一个直接后继。 2. 线性表 逻辑结构:“一对一” 或 1:1 存储结构:顺序、链式 运 算 :修改、插入、删除 3.顺序存储 特征:逻辑上相邻,物理上也相邻; 优点:随机查找快 O(1) 缺点:插入、删除慢 O(n) 改进方案:链表存储结构 循环链表的特点:从任一结点出发均可找到表中其他结点 双向链表的特点:可方便找到任一结点的前驱 4.链式存储 特征:逻辑上相邻,物理上未必相邻; 优点:插入、删除快 O(1) 缺点:随机查找慢 O(n) 5.几种特殊链表的特点: 链表存储结构是一种动态数据结构,其特点是它包含的据对象的个数及其相互关系可以按需要改变,存储空间是程序根据需要在程序运行过程中向系统申请获得,链表也不要求逻辑上相邻的元素在物理位置上也相邻,它没有顺序存储结构所具有的弱点。 * * * AC(B?) AAB ABC BD BD 插入步骤 修改s指针域,使其指向p结点的后继结点:s?next=p?next p B C X s A 修改p指针域, 使其指向新结点s: p?next=s 后面的结点都将从链表中脱离 它们占用着内存空间,程序却找不到它们了 3 .单链表: (2)单链表删除:不需要移动元素,仅修改指针链接 删除结点 删除p指向的结点 只修改p(被删除结点)的前驱结点的指针域即可 1.2.3 线性表的链式存储结构 删除步骤 修改q结点指针域 q?next=p?next C p B A 删除前 删除后 q p C B A free(p); 先找到p的前驱结点q q?next=q?next?next 单链表结构和顺序存储结构的比对: 假设我们的校园只有单行道 保安沿这条路线巡逻,需要查遍所有地点。有一天,保安先从主教出发,想把以上地点走一遍,此时主管告诉他,不行,你必须从主校门开始走。。。 事实上,把主校门和北门连接起来,形成一个环路,就解决了这个问题。 单链表的尴尬 4.循环链表 特点:表中最后一个结点的指针域指向头结点, 整个链表首尾相连形成一个环。 带头结点的循环链表 1.2.3 线性表的链式存储结构 优点:从表中任一结点出发均可找到表中其它结点。 对带头结点的单循环链表head为空的判定条件是 head-next=head 带头结点的空循环链表 例:假设长度大于1的循环单链表中,既无头结点也无头指针,p指向该链表中某一结点,编写一个算法删除该结点的前驱结点。 单链表只能从头结点开始遍历整个链表,而循环单链表则可以从表中任意结点开始遍历整个链表。 ... a1 a2 an-1 a0 p s=p; while(s.

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档