- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性表的链接存储 一、顺序存储的缺点: 1、它要求系统分配一块连续存贮空间。但是当顺序表很大时,系统可能无法分配给你这么大的一块连续存贮空间,只有多个分散的空间可以提供,而这些分散空间合起来可以足够存放你的数据,那么如何利用这些分散空间呢? 打个比方:有一群七人做公交车,上车后发现车上有十个空位,当然通常空位是不连一起的,假如这七人一定要全部坐一起,那么可能无法找到一片连续空位的,于是他们都没有座。但假如他们可以分散坐,那肯定每人都有位子了。 2、在进行插入、删除操作时,将移动大量元素。这会耗费主机时间,效率比较低。 链接存储可以克服以上不足: 1)可以充分利用分散的存贮空间。 2)在插入、删除操作时,不需要移动元素。 二、线性表的链接存储如何实现 线性表在逻辑上是一个有序排列的元素集合,而链接存储中,元素的存放位置是分散的,那么如何从表头元素开始,依次找到下一个元素,直到最后的表尾元素呢? 所以,链接存储的每个结点中,除了存贮各元素的数据外,还必须要保存指向下一个结点的指针。即下一个结点的地址信息,通过这个指针,就可以找到下一个元素。 分散存储的各元素就是通过指针一个接一个连成一体,好比是一个环环相扣的链条。这就是链接表。 三、单链表 1、结构: 单链表中,每个结点的存贮单元分为两部分:一部分存放结点的数据,也就是线性表中元素的值,称为值域;另一部分存放指向后继结点的指针,称为指针域。 最后一个结点没有后继,所以它的指针域为空,即NULL值。另外,对于每个单链表而言,还需要一个表头指针来存放第一个结点的地址。这样,只要从表头指针出发,我们就可以依次找到单链表中的每个元素,直到表尾。所以,通常用表头指针名来命名一个单链表。 2、结点结构的C/C++语言描述 struct LNode //定义单链表结点 { ElemType data; LNode *next; }; 3、如何在单链表中插入和删除结点 1)插入结点 有a、b、c三个结点,假设ap,bp,cp都是LNode类型的指针变量,即 LNode *ap, *bp, *cp; 它们分别指向a,b,c结点,要把b结点插入到a、c之间。则: 初始状态: ap-next=cp; 插入: bp-next=cp; ap-next=bp; 2)删除结点 同样a、b、c三个结点,以及三个指针ap,bp,cp,要删除a、c之间的b结点。 删除前: ap-next=bp; bp-next=cp; 删除后: ap-next=cp; 四、双向链表 1、结构:每个结点包含有两个指针域,分别存放指向前驱结点的指针和指向后继结点的指针。表头结点的左指针域,即前驱指针域为空;表尾结点的右指针域,即后继指针域为空。同样地,双向链表也需要一个表头指针来存放第一个结点的地址。通常,表头指针名作为双向链表名。 2、结点结构和C语言描述 struct DNode { ElemType data; DNode *left; DNode *right; }; 3、插入和删除操作 线性表操作在单链表上的实现 一、单链表的定义 1、单链表上每个结点的结构表示: 2、单链表可以用它的表头指针来定义: 因为每个单链表都有一个表头指针,表头指针是指向单链表表头结点的指针。从这个表头指针出发,可以顺序找到单链表中的每个元素,所以单链表可以用它的表头指针来表示。 GO 假定我们给表头指针取名为HL,则HL也表示一个单链表。所以我们后面学到在单链表上的各项操作,这些函数的参数中都有HL,表示对单链表进行操作。 HL的数据类型:因为它是指向表头结点的指针,而表头结点为LNode类型,所以显然HL的类型为LNode*。
您可能关注的文档
- 生物化学精品教学(河南科技大学)007试卷.pdf
- 生物化学精品教学(河南科技大学)008试卷.pdf
- 生物化学精品教学(河南科技大学)009试卷.pdf
- 生物化学精品教学(河南科技大学)010试卷.pdf
- 生物化学精品教学(河南科技大学)011试卷.pdf
- 生物化学精品教学(河南科技大学)012试卷.pdf
- 生物化学精品教学(河南科技大学)013试卷.pdf
- 生物化学精品教学(河南科技大学)014试卷.pdf
- 生物化学精品教学(河南科技大学)015试卷.pdf
- 生物化学精品教学(河南科技大学)016试卷.pdf
- 专题02+时事热点(精讲课件)2025年中考地理二轮复习讲练测(安徽专用).pptx
- 专题10+经济建设 2025年中考道德与法治二轮复习讲练测(广东专用).pptx
- 专题02+西游记【名著概览】+-+2025年中考语文必读名著演练.pptx
- 专题七+认识国家(课件)-【省心备考】2025年中考地理一轮复习优质课件.pptx
- 第22课《礼记》二则——《大道之行也》(课件)-2024-2025学年八年级语文下册同步备课精品资源.pptx
- 跨学科实践15:制作“龙骨水车”(课件)-2024-2025学年八年级物理下学期项目化课程案例.pptx
- 第13课_辽宋夏金元时期的对外交流(课件)2024-2025学年七年级历史下册同步教学课件.pptx
- 选择题专项讲解——综合类(课件)2025年初中道德与法治中考选择题练习.pptx
- 第21课《庄子》二则——《北冥有鱼》(课件)-2024-2025学年八年级语文下册同步备课精品资源.pptx
- 7.3+感受澳大利亚(第二课时)-2025学年七年级地理下册同步精品课堂(晋教版2024).pptx
文档评论(0)