链表是一种非连续,非顺序的存储结构,是一种数据结构。它使用引用的方式将各结点连接起来。
链表分为两种:单向链表和双向链表
单向链表中,每个结点只存储了下一个结点的引用,因此便只能从根节点往后查找,这使得对结点的操作显得有些繁琐。相对于双向链表来说,就不够方便了。
双向链表中,每个结点既存储了下一个结点的引用,又存储了上一个结点的引用,这样,不管从那个结点开始查找某指定的结点,都可以顺利进行。
链表可以用于查找,插入,删除,排序,统计等操作。
双向链表结点示例:
public class Node(){
private Object obj;//结点对应的数据元素
private Node left;//上一个结点的引用
private Node right;//下一个结点的一用
......
}
在进行对结点的操作时,要对该节点的上一个结点和下一个结点分别做出处理,否则可能就会损坏链表的连续性甚至导致数据丢失。