关于链表的问题 谁帮我能解惑下

motenai2 2018-02-15 04:54:43
关于相关代码请往下看。 根链表是node,里面有4,3,2,1数字,按道理下面代码并没有直接对node链表进行操作? 为何加入temp.next = new Node(5)代码后;,node输出的结果却变成了4,3,2,1,5了?

还有while是遍历链表对吗? 意思是將temp.next最一个赋值给temp,是不是就算temp里面写入新链表,temp的输出结果应该是5,1只有两个数字?


public void change(){
Node temp = node;
while (temp.next!= null) {
temp = temp.next;
}
temp.next = new Node(5);
}
...全文
1475 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
逗泥丸的平方 2018-02-24
  • 打赏
  • 举报
回复
引用 7 楼 jdie00 的回复:
[quote=引用 5 楼 sinat_41751261 的回复:] Java语言本来就难学
java这门语言算是好学的了,相对于c而言吧......[/quote] 其实还是C好学,只是比较难用.
十八道胡同 2018-02-24
  • 打赏
  • 举报
回复
public void change(){ Node temp = node; while (temp.next!= null) { temp = temp.next; } temp.next = new Node(5); } temp是在遍历列表,while出来的时候temp已经指向该列表最后一个元素. temp.next = new Node(5); 相当于是在列表最后一个元素后面又加了一个元素
aptx1048576 2018-02-24
  • 打赏
  • 举报
回复
引用 5 楼 sinat_41751261 的回复:
Java语言本来就难学
java这门语言算是好学的了,相对于c而言吧......
sdlewis 2018-02-23
  • 打赏
  • 举报
回复
while是遍历链表对吗?对, 意思是顺着.next一直v找到尾节点,然后将其 next指向5的节点。 再输出的结果就变成了4,3,2,1,5了
maradona1984 2018-02-22
  • 打赏
  • 举报
回复
引用 1 楼 motenai2 的回复:
怎么简单问题也没人回复,我无语了。
大过年的还让人来给你回答问题,人家发工资的都让放假了
sinat_41751261 2018-02-22
  • 打赏
  • 举报
回复
Java语言本来就难学
aptx1048576 2018-02-21
  • 打赏
  • 举报
回复
Node temp = node; 这句将temp指向头结点(应该是,通常情况下) while (temp.next!= null) { temp = temp.next; } 这个循环将temp移动到尾结点 temp.next = new Node(5); 这句话在temp(尾结点)之后新建了一个结点 所以这段程序的作用就是在最后加入一个data域为5的结点
Rocketbear_lu 2018-02-16
  • 打赏
  • 举报
回复
链表里面的内容是一个节点(内部类),你最后temp.next = new Node(5);就相当于创建了一个新的节点,所以是4,3,2,1,5啊
motenai2 2018-02-16
  • 打赏
  • 举报
回复
怎么简单问题也没人回复,我无语了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧