单向链表包含两个域:
-
一个数据域:用于存储数据
-
一个指针域:用于指向下一个节点(最后一个节点则指向一个空值):
单链表的遍历方向单一,只能从链头一直遍历到链尾。它的缺点是当要查询某一个节点的前一个节点时,只能再次从头进行遍历查询,因此效率比较低,而双向链表的出现恰好解决了这个问题。单向链表代码如下:
public class Node<E> { private Eitem; private Node<E> next; }
双向链表的每个节点由三部分组成:
-
prev指针:指向前置节点
-
item节点:数据信息
-
next指针:指向后置节点
双向链表代码如下:
public class Node<E> { private E item; private Node<E> next; private Node<E> prev; }
循环链表
循环链表又分为单循环链表和双循环链表,也就是将单向链表或双向链表的首尾节点进行连接。