NET 数据结构-单链表

单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。

链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据

NET 数据结构-单链表

 

 由图可知:

链表在进行添加/删除时,只需要修改 当前节点和相邻节点 的next,更新效率高

遍历数据,需要根据节点按顺序访问,导致查询速度慢,时间复杂度为O(n)

每个节点中都保存了下一个节点的指针【Next,最后一个节点的next为null】,所以长度是动态变化的,且不是连续内存空间

相关代码:

MyLinkedListNode:自定义链表节点类

NET 数据结构-单链表

NET 数据结构-单链表

1 /// <summary> 2 /// 自定义链表节点类: 单链表 3 /// </summary> 4 public class MyLinkedListNode<T> 5 { 6 /// <summary> 7 /// 当前节点 8 /// </summary> 9 public T Node { get; set; } 10 11 /// <summary> 12 /// 下一个节点 13 /// </summary> 14 public MyLinkedListNode<T> Next { get; set; } 15 16 /// <summary> 17 /// 构造函数: 无参构造函数 18 /// </summary> 19 /// <param></param> 20 public MyLinkedListNode() 21 { 22 this.Node = default; 23 this.Next = null; 24 } 25 26 /// <summary> 27 /// 构造函数: 指定当前节点,常用于 新增根节点和最后一个节点 28 /// </summary> 29 /// <param></param> 30 public MyLinkedListNode(T node) 31 { 32 this.Node = node; 33 this.Next = null; 34 } 35 36 /// <summary> 37 /// 构造函数: 指定当前节点和下一节点,常用于 新增内部节点/确定下一节点 的情况 38 /// </summary> 39 /// <param></param> 40 /// <param></param> 41 public MyLinkedListNode(T node, MyLinkedListNode<T> next) 42 { 43 this.Node = node; 44 this.Next = next; 45 } 46 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgyds.html