【Java】链表的简述

链表(Linked List)

链表是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针。

使用链表的优点

  1. 可以克服数组链表需要预先知道数据大小的缺点
  2. 链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。

缺点:链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,占用空间比较大。

链表的类型

1.单链表

顾名思义,单链表就是只朝一个方向遍历,节点(Node)由存储的数据date和链表的指针next组成。

【Java】链表的简述

单向链表只可向一个方向遍历,一般查找一个节点的时候需要从第一个节点开始每次访问下一个节点,一直访问到需要的位置。而插入一个节点,对于单向链表,我们只提供在链表头插入,只需要将当前插入的节点设置为头节点,next指向原头节点即可。删除一个节点,我们将该节点的上一个节点的next指向该节点的下一个节点。

[A->B->C->D->E->F]

在表头增加节点:在表头新增一个节点S,将其设为head节点,原先head的next只想原节点。

[ S ->A->B->C->D->E->F]

删除节点:只需将删除节点的上一个节点只想下一节点。

[A->B->C->E->F]