一、链表简介:
链表是有序的列表,但是它在内存中是存储如下
小结:
1)链表是以节点的方式来存储,是链式存储
2)每个节点包含 data 域, next 域:指向下一个节点.
3)如图:发现链表的各个节点不一定是连续存储.
4)链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定
单链表介绍:
单向环形列表:
代码示例:
public class SinglelinkedlistDemo {
public static void main(String[] args) {
//进行测试
//先创建节点
HeroNode hero1 =new HeroNode(1,"Jack","aaa");
HeroNode hero2 =new HeroNode(2,"Marry","bbb");
HeroNode hero3=new HeroNode(3,"LIN","Rude");
HeroNode hero4=new HeroNode(3,"Bruce","Hero");
//创建要给链表
SingleLinkedList singleLinkedList=new SingleLinkedList();
//加入
singleLinkedList.add(hero1);
singleLinkedList.add(hero2);
singleLinkedList.add(hero3);
singleLinkedList.add(hero4);
//显示一把
singleLinkedList.list();
}
}
//定义Singlelinkedlist 管理我们的英雄
class SingleLinkedList{
//先初始化一个头节点,头节点不要动,不存放具体数据
private HeroNode head = new HeroNode(0, "", "");
//添加节点到到单向链表
//思路:当不考虑编号的顺序时
//1.找到当前链表的最后节点
//2.将最后这个节点的next 指向新的节点
public void add(HeroNode heronode){
//因为head节点不能动,因此我们需要一个辅助变量