计算机考试 什么链,啥数组、链表、线性结构?计算机二级office选择题必考串讲2-2...

本文以班级同学观影座位分布为例,深入浅出地解释了链表这一计算机数据结构。链表中,每个节点包含数据域和指针域,通过指针域连接下一个节点,形成逻辑上的线性结构。尽管节点在物理存储上可能不连续,但通过节点间的指针可以按逻辑顺序遍历所有节点。链表的特点是逻辑顺序与物理存储顺序不同,且允许动态分配存储空间。
摘要由CSDN通过智能技术生成

我是女神二级的叶子老师,用自己多年的计算机教师经验,把最容易吸收的知识点分享给考生。我将持续分享关于计算机二级国考方面的文章。感兴趣的读者请点击右上角“关注”吧!

公共基础

二级Office必考的考点

专业性很强

如果没有好的复习资料

是相当枯燥、晦涩、难懂的

你还为公共基础难懂

苦大愁深吗?

你还为不知如何拿下选择题

焦头烂额吗?

今天开始,小编带着大家

远离枯燥、远离专业术语

白话学懂公共基础!

程林高手武功秘籍--公共基础知识

4. 讲座会的座次--链表

4.1 何谓链表

某班同学组织到影院观影,然而买到的电影票没有连号,更没有按学号分发给各位同学。这使本班同学在影院中必须比较散乱地分开就座了。如何能在观影期间,无一遗漏地找到本班的所有同学呢?班长想到这样一个对策:请每位同学都记录下自己下一学号同学的座次号,每位同学只记录他下一学号的这一位同学的座次号就可以了。这样,如果找到了学号为1号的同学,就能从他那里问到2号同学的座次号,找到2号同学;再从2号同学那里问到学号为3号的同学的座次号,找到3号同学;再从3号同学问到4号同学的座次号,找到4号同学……直到找到最后一位同学,最后一位同学所记录的座次号为0,表示不再有下一位。

上面这种对策,在程序中被称为链表。

d6f13bb93be3504eaa20135b3d4002f1.png

在链表中,一个数据元素的结点由两部分组成:(1)用于存放数据值的部分,称数据域;(2)用于存放指针(地址)的部分,称指针域,指针(地址)指向前一个或后一个结点。如图16-3所示。

链表的例子如图16-4所示。图16-4的链表有5个结点(head用于找到第1个结点,称头结点,它不保存数据,不属于链表中的结点)。各结点左下角的数字表示该结点的地址。在第一个结点的指针域内存入第二个结点的地址,在第二个结点的指针域内又存入第三个结点的地址…如此串连下去直到最后一个结点;最后一个结点无后续结点,其指针域为0。

57e6f750eb88a205c32c4577e930fba1.png

由于链表中的每个结点都记录着下一结点的地址,从一个结点就可以找到下一个结点,而下一个结点又记录着再下一个结点的地址,因而又能找到再下一个结点……这样一个一个地链接着找下去,就能得到链表中的所有数据了。然而必须从第一个结点出发才能找全所有结点;如果从中间某个结点出发找下去,那么它之前的结点就访问不到了。

链表中,谁保存下一个结点的地址,谁就是"前件(前驱)",被保存地址的结点相对来说就是"后件(后继)"。这种结点之间的前后件关系,是链表的逻辑结构。由于每个结点都只保存一个结点的地址,所以每个结点只有一个"下一个结点";反过来说,每个结点的地址都只被一个结点保存着,即每个结点的"上一个结点"也只有一个,所以说链表也是线性结构。

7935bc356d7eeefdfc1cab21f5d66f3f.png

链表各结点的存储空间可以是动态分配的;即需要空间时,哪里有空间,数据就将位于哪里。这类似于学生听讲座会时的"随便就座",哪里有座位就坐到哪里,而与学号无关(这里学号顺序为逻辑结构,所坐到的具体位置为存储结构)。链表的结点也不一定连续存储,前件结点的空间也可能在后件结点的后面。例如结点"11"链接到结点"20","11"在"20"之前,这是逻辑结构。然而"11"的地址是6000,"20"的地址是5000,"11"的地址反而在"20"之后,这是物理(存储)结构,与逻辑上的前后关系是不同的。因此链表的特点是:

链表中,数据元素之间的逻辑关系是由指针域决定的。结点之间逻辑上的前后件关系,不决定于所位于位置的前后关系(地址大小);各元素的存储空间可以不连续,各元素的存储顺序与元素之间的逻辑关系可以不一致。链表的"逻辑顺序≠物理存储顺序"。

c75a772414e73247f8a601baa232bcde.png

以上内容仅是个人一点经验,仅供参考。欢迎评论、收藏与分享!如果这篇文章对您有用就请点个赞吧!关注老师可以查看历史文章!

举报/反馈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值