//定义SingleLinkedList 管理我们的英雄
class SingleLinkedList {
//先初始化一个头节点
private HeroNode head = new HeroNode(0, "", "");
//添加节点到单向节点
//当不考虑编号的顺序时,找到当前链表的最后节点,将最后这个节点测next指向新节点
public void add(HeroNode heroNode){
//因为head节点不能动,因此我们需要一个辅助变量
HeroNode temp =head;
//遍历链表找到最后
while (true){
//找到链表的最后
if (temp.next==null){
break;
}
//如果没有找到最后,将temp后移
temp =temp.next;
}
//当推出while循环时,temp指向链表最后
//将最后这个节点的next指向新的节点
temp.next=heroNode;
}
}
HeroNode temp =head;
此时将temp与head进行了一个绑定
这种绑定并不是简单的复制,
不是
int b=3
int a=b
这种当a=4时, a变化了,b没有变化
但是temp=temp.next temp变化了,head没变(有可能变化了。只不过变化的完全相同了。。)
但是temp.next=heroNode head却发生了变化,更像是一种指针操作。和普通的复制不一样
不太了解底层的内存原理。。。。。。。。。。。。但是这样理解起来还行