数据结构与算法:C#语言描述(chap11链表

数据结构与算法:C#语言描述(chap11

链表的定义:链表是被称为节点的类对象的群集。每个节点通过一个引用链接到列表呢的后继节点上。节点包括存储数据的字段和节点引用的字段。到另一个节点的引用被成为是链接。

一个完整的链表,带头节点和末尾节点


图中需要注意的地方就是我们对链表的起始处做了一个特殊的节点,头节点(Header),在链表结尾的标记是指向空值(Null)实现的(既然是内存中处理的类对象,所以就用null对象来表示列表的末尾),可以称之为“末节点”。
数组和链表之间的一个主要区别就是数组的元素是通过索引去引用,而链表的元素是通过他们与数组其他元素的关系进行引用。
使用链表插入链表项时,所要做的就是将插入节点之前的节点链接改为只想要插入的节点,并且把新的节点链接设为指向插入之前前节点所指向的节点。数据结构与算法:C#语言描述(chap11链表_第1张图片
删除链表节点就是把要删除的节点之前节点的链接重定向打删除节点所指向的节点,并且把删除的节点的链接设置为空(Null)就可以了。
数据结构与算法:C#语言描述(chap11链表_第2张图片
当然还有其他方法可以在LinkedList类中实现,但是插入和删除这两种方法正式使用链表超过数组的原因所在。

你可能感兴趣的:(后端)