链结串列(Linked List)常用来处理相同类型资料,在不连续
的记忆体位置,以随机的方式储存,由於不用事先宣告一块连续记忆体空间,所以较不会造成记忆体的浪费。
由许多节点组成,每个节点包含资料栏
与指标栏
,指标栏会指向下一个资料所在的记忆体位置。因此再追加或删除资料相当方便,因为只需要更动指标的指向
,但在读取资料就会较费时,因为必须从串列的头开始寻找。
可以想像一辆火车,透过挂勾将车厢一节一节地串起来,能够依乘客需求多寡来使用挂勾更动车厢数量。
基本的链结串列结构,从串列头(Head)开始依序指向下一笔资料,串列尾(Tail)为最後一笔资料指向空值(Null)。
只需要更动指标的指向。
每个节点会变成一个资料栏
与两个指标栏
,让资料可以从头或尾巴开始找,优点是可以让被破坏或遗失的节点被找回来,但在追加或删除资料时,必须更动比单向链结串列更多的指标次数
。
在单向链结串列中,万一某节点被破坏或遗失,整个串列将会没作用,因此如果把串列最後一个节点指向串列头,这样每个节点都可以是串列头
。
阵列的介绍可以参考此篇
<<: .NET Core第13天_View常见操作_Layout布局页_PartialView部分检视_强类型视图(大量资料或物件的传递)
今天进度 鸟哥私房菜 - 第十五章、例行性工作排程(crontab) 我在 Crontab.guru...
堆叠跟柱列在程序中算是很基本的资料结构~ 它们的储存特性一个是LIFO~ 另一个则是FIFO~ 学习...
不知道为啥总感觉进度堪忧,我是说准备工作 之前原本有一个能运行的东西现在运行不了 我翻 commit...
表单组件 使用表单处理使用者输入是常见的应用的基础功能,使用这些表单组件可以应用在注册、登入、电商…...
舒安表示:我的手机是有高画质的,不过这影片的4K片段是用相机拍出来的。 半年前,在蓝象廷用餐时,因为...