什么是链表?

  • 链表[Linked List]: 链表是由一组不必相连【不必相连: 可以连续也可以不连续】的内存结构【节点】,按照特定顺序连接在一起的抽象的数据类型。

补充:
抽象数据类型(Abstract Data Type [ADT]):表示数学中抽象出来的一些操作的集合。
内存结构:内存中的结构,如:struct、特殊内存块…等等之类;

链表共分几类?

链表共有三类:单链表、双向链表、循环链表。

链表和核心操作集有3种:插入、删除、查找[遍历]

单链表:由各个内存结构通过一个Next指针链接在一起组成,每一个内存结构都存在后继内存结构【链尾除外】,内存结构由数据域和Next指针域组成。

单链表实现图示:

文字解析:

  • Data数据+Next指针,组成一个单链表的内存结构;
  • 第一个内存结构称为链头,最后一个内存结构称为链尾;
  • 链尾的Next指针设置为NUll[指向空];
  • 单链表的遍历方向单一【只能从链头一直遍历到链尾】

ListNodelist=newListNode()初始化一个空节点,无值,不提倡此种写法;

L i s t N o d e l i s t = n e w L i s t N o d e ( 0 ) ListNode list=new ListNode(0)ListNodelist=newListNode(0) 初始化一个节点值为0的空节点,最常用最正规写法;

L i s t N o d e l i s t = n u l l ListNode list=nullListNodelist=null 为空,什么都没有,一般不这么写。

结束语


总结:大功告成✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️

参考链接: