基本概念
线性表的链式存储结构的特点是用一组任意存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。
下图粗略的展示了链式储存结构图。其中val存的是具体的数据,而next存的是下一个结点的地址。这样一连串的结点就能够串起来了。他们在物理储存空间上既可以是连续的,也可以是非连续的。
我们把存储数据元素的信息的域称为数据域 把存储直接后继位置的域称为指针域。
值得一提,我们把链表第一个的存储位置叫做头指针,链表最后一个节点的指针为空(null)。
线性表链式存储结构代码描述
创建链表:
public class LinkedList {
//内部类
class Node{
public int val; //储存数据
public Node Next; //储存下一个节点的位置
public Node(int val) {
this.val = val;
}
}
public Node head; //代表当前链表的头结点的引用
//创建链表
public void createLink(){
Node node1 = new Node(12);
Node node2 = new Node(45);
Node node3 = new Node(23);
Node node4 = new Node(90);
node1.Next = node2;
node2.Next = node3;
node3.Next = node4;
head = node1;
}
}
创建链表后的结构图如下所示: