数组存储必须使用连续的内存空间,并且会预留一部分空间方便扩展。这样会大大降低内存的使用率,所以出现了链表。
数组能做的所有事情,一般都可以用链表实现。
链表存储一系列相同类型的数组,并且都有增删改查等基本操作。
数组里面每一个元素称为元素,链表中每个元素称为节点。
元素和节点的差别在于,元素的地址只能在上一个元素地址的后面,而节点的地址可以分散存储。
节点可以分成两个部分,一部分用来存储数据,另一部分可以用来存储另外一个节点的地址。
在不考虑泛型,节点只需要支持int的存储时,可以用下面的一个Java例子来帮助理解。
public class Node {
//数据类型是int
int val;
//下一个节点
Node next;
public Node(int x){
val = x;
}
}
这就是一个链表的节点类。