请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

从左到右 还是从右到左?

图片描述

波波老师您好 我想请问您一个问题 以图片里 52和53行为例
到底该如何从右到左理解还是从左到右理解?

1.从理解上来讲 从左到右 会比较好理解(您在课程里也是这么叙述,您课程里为何没有从右到左)
2.可是从逻辑上来讲 我们应该是把右边的赋给左边呀

我感觉到了一些矛盾,我也说不出一些所以然出来,希望您可以解答我的这个疑惑。但愿我的意思表达清楚了。期待您的回答

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-07-17 01:13:56

我觉得我可能没有特别理解你的问题。


首先,我假定,你说的左右,链表头在左边,链表尾在右边。

所以,是的,我们队列是在不断的向链表尾加元素,但如果要删除元素,是在链表头,也就是你说的,从右边加元素,从左边删元素。


我不知道你说的“矛盾”是在哪里?

因为你指出的52,53两句话,就是在从右边加元素。因为tail指向链表最后一个元素,也就是最右边的元素。


tail.next = new Node(e);

在当前链表的末尾后面又加了一个元素


tail = tail.next;

上面的添加以后,tail已经不再指向最后一个元素了,所以要维护一下tail,让tail指向最后一个元素


看能不能理解?


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 慕娘5396411 #1
    波波老师好,我想 应该是我 表达的有些问题。
    
    我的问题,其实是关于赋值规则的问题
    举个例子(编程中) A=B 的意思是,把B赋给A, 而并非 把A赋给B。
    
    而52行   tail.next=new Node(e)
    到底是  把 new node赋给 tail.next(前者)
    还是 把tail.next赋给new node(后者)
    回复 有任何疑惑可以回复我~ 2019-07-17 08:26:41
  • liuyubobobo 回复 提问者 慕娘5396411 #2
    把 new Node 赋值给 tail.next。也就是tail.next指向了new Node。
    回复 有任何疑惑可以回复我~ 2019-07-17 08:28:41
  • 提问者 慕娘5396411 回复 liuyubobobo #3
    谢谢波波老师! 懂了 ,是我理解的问题 ,谢谢!
    回复 有任何疑惑可以回复我~ 2019-07-17 08:31:52
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信