前言:讨论完阵列之後接着就要来看看它的好兄弟链结串列Linked List,在Day03的文章中有提到阵列是属於静态资料结构,而链结串列则是属於动态资料结构,接下来就解释一下动态资料结构的特点。
看起来很难理解,那生活中有没有甚麽相似的实物?
图片来源:https://img.pcstore.com.tw/~prod/M17326047/_sE_5938373233.jpg?pimg=static&P=1400414726
活页笔记本的便利之处想必大家都非常清楚,这种笔记本不管是在新增或移除叶面都相当方便,但如果没有标上页数,在寻找想要的内容之前是不是都得把笔记本都翻过一遍?
活页笔记本是否和连结串列有异曲同工之处呢?或着是可以加减车厢的捷运也是一样的道理喔!
再来就是比较专门的知识了,链结串列还能再细分成单向、双向和环状三种,先来看看单向链结串列。
删除节点:只要把A原本指向B的指标改为C,再把B节点删除就完成了。
新增节点:假设新增一E节点再AB之间,把A的指标指向E,再把E的指标指向B就可以罗,是不是比阵列简单很多!
进入到下一个双向链结串列,不过其实只是依样画葫芦,只要多增加向前一个节点的指标就可以了喔!
一个节点就包含两个指标(前後)和资料,双向链结串列也有能快速修补脱落节点的妙用!
终於到了最後的环状链结串列,只要把最後一个节点指向第一个节点就可以了。
今日小结:今天介绍完了链结串列,明天就要来实作练习了,双向和环状链结串列的新增和删除跟单向链结串列都大同小异,只要更动指标的指向的节点,有兴趣的人可以练习看看(≧▽≦)
<<: D3JsDay05Bar拉BarBarBar,作伙来画吧—画个bar chart长条图
Hi 大家好,我是Rson,一位在科技业的互动介面设计师。在过去的专案及产品经历中,累积了一些心得...
什麽是机器学习? 机器学习是一种能够赋予机器学习的能力,以让机器完成直接编程所无法完成的任务的方法。...
VS Code组合键真的非常多,才发现每天抽空的时间没办法练习完,重新编辑分成『介面操作』和『文字编...
上一篇我们使用 getUserMedia 来获取使用者装置权限,不过他的实际功能如其名,是用来取得使...
undefined 与 not defined 虽然在字面上的意思,都是未定义、还未定义的意思,但两...