- Linked List,链表是有序列表,链表我们一般都会约定存在一个头节点和n个数据节点
- 头结点 : 存放的是链表的第一个数据节点的内存地址,根据头结点,我们可以找到第一个数据节点
- 数据结点 : 点存放的就是我们存放在链表当中的数据,但是要注意的是,每个数据节点还会存放下一结点的地址**(数据+下一结点地址)**
- 但是实际中,我们不会单独设置一个特殊的结构作为头结点,也就是说,头节点和数据结点只是功能上的不同,物理结构上是一样的,都是
- data域 : 存储数据
- next域 : 指向下一个结点
- 根据如上的分析,由于每个结点都会存储下一个结点的地址,所以链表是无需顺序存储的
- 注意 : 链表也有不带头结点的,这个根据实际的需求确定,加上头结点,可以方便我们进行统一的编程,而无需进行特殊判断
class SingleLinkedList {
private HeroNode head = new HeroNode(0, "", "");
public HeroNode getHead() {
return head;
}
}
class HeroNode {
public int no;
public String name;
public String nickname;
public HeroNode next;
public HeroNode(int no, String name, String nickname) {
this.no = no;
this.name = name;
this.nickname = nickname;
}
@Override
public String toString() {
return "HeroNode{" +
"no=" + no +
", name='" + name + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
}