线性表有以下特点:
- 是有限的序列
- 除开头和结尾两个节点,序列中的每一个元素都有唯一的前驱和后继
线性表的实现方式有两种:
第一个,顺序表,顺序存储的实现
分配一块连续的内存去存放这些元素,代表作:数组
第二个,链表,链式存储的实现
内存是不连续的,元素会各自被分配一块内存,内存和内存之间用指针相连
我们的第一课,从链表中的单链表开始
先来简单了解下链表
链表是一种动态数据结构,由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针(或引用)
链表的基本结构
一个链表通常由以下几个部分组成:
- 节点(Node):
- 数据部分,即data:存储实际的数据
- 指针部分,即next:指向下一个节点的指针(在双向链表中,还会有指向前一个节点的指针)
- 头指针(Head):
- 指向链表的第一个节点,如果链表为空,则头指针为
null
(或None
)
- 指向链表的第一个节点,如果链表为空,则头指针为
链表的类型
- 单向链表:每个节点只指向下一个节点(最后一个节点指向null)
- 双向链表:每个节点既指向下一个节点,也指向前一个节点
- 循环链表:最后一个节点指向第一个节点,形成一个环
Comments NOTHING