java数据结构之单链表

什么是链表?如何操作链表?(增删改查)

单链表

我们由图可以知道,链表是以节点来存储的,每个节点包含data和next,next域指向下一节点,并且链表各个节点内存并不是连续的
java数据结构之单链表
常见的我们见的单链表分为两种:有头节点没有头节点的链表
下面我以有头节点的单链表给大家演示:链表的增删改查
首先我们创建一个关于人物英雄的节点
java数据结构之单链表

然后创建英雄人物单链表并且初始化头节点:(头节点:head是不存储信息的,所以我们的name和niname都为默认值)
java数据结构之单链表
:当我们想增加一个节点如何操作,我们上面定义的节点是有编号的,假如我们想在编号为1和3之间的节点添加一个节点编号为2的节点,我们需要一个辅助变量:temp指向头节点,目的就是遍历节点
java数据结构之单链表
代码实现如下:
java数据结构之单链表
上面我们为什么要让temp.next的编号(3号)大于我们要插入的节点编号(2号节点)呢?
也就是我们找到的是:插入节点的下一个节点,也就是3号节点,只有这样,我们让2号的next指向3号,再让1号的next指向二号,就完成了添加!

删:
同样的道理,假设我们2号节点已经添加进去了,现在要删除二号节点,
找到2号节点的前一个节点(节点1),让节点1的next直接指向节点三就可以了。
java数据结构之单链表
代码如下:
java数据结构之单链表
改: 修改节点信息,根据编号修改,编号不能改,(假如编号都改了,那就是添加了,哈哈=-=),对对应编号人物的其它信息修改
java数据结构之单链表
:也就是遍历节点
java数据结构之单链表
最后测试:
java数据结构之单链表
自己都佩服自己,加油,奥里给!=-=