单链表的第二种添加可以按照编号顺序添加(如果这个编号的已存在也会提示该节点已存在)。
先来分析一下不考虑编号顺序时,我们如何做:
1、找到当前链表的最后节点
2、将最后这个节点的next指向新的节点
而按照编号顺序插入需要先找到应该插入到谁的后面,然后让新的节点的next=temp.next,再让temp.next=新的节点就ok了。如下图所示
思路:
1、先遍历找出新节点该插入到谁的后面
2、让新的节点.next=temp.next
3、让temp.next=新的节点
单链表的遍历其实很简单,就使用临时变量temp一个个遍历即可。如下图所示
单链表的修改呢也很简单,先遍历找到要修改的节点,temp.name = newHeroNode.name ; temp.nickname= newHeroNode.nickname。没图了...
单链表的删除:如图所示
1、先找到要删除的节点的前一个节点temp
2、让temp.next=temp.next.next。
3、被删除的节点没有引用会被垃圾回收。
完整代码如下:
package datastructure.linkedlist;
public class SingleLinkedListDemo {
public static void main(String[] args) {
//进行测试
// 先创建节点
HeroNode hero1 = new HeroNode(1, "安妮", "黑暗之女");
HeroNode hero2 = new HeroNode(2, "艾希",