在链表中添加元素问题。

来源:4-2 在链表中添加元素

大雨小鱼

2021-03-22

在链表中间添加元素
node.next = prev.next;
prev.next = node;

1 node.next = prev.next
可以理解为 node的next 指向previous 的下一个元素。
2.prev.next = node;
可以理解为 prev的next 指向node

这是从左往右看代码。但是 “ = ” 是赋值的意思,从右往左看代码,该怎么理解?

写回答

2回答

liuyubobobo

2021-03-23

我可能没有特别理解你的意思。


a = 3 可以理解成 把 3 赋值为 a;也可以理解成让 a 的值是 3。这只是一个叙述差异,但是这条语句表达的逻辑没有变。


按照你说的 从右向左看:

node.next = prev.next 表示让 prev.next 指向的节点成为 node.next 指向的节点;

prev.next = node; 表示让 node 指向的节点成为 prev.next 指向的节点。


==========


我也没有很理解你说的 prev.next 有两层意思是什么意思。在 Java 中,所有的类型变量都是引用,即 C++ 中的指针。 

prev.next 指向一个元素;node.next = prev.next 的意思是,让 node.next 指向的节点和 prev.next 指向的节点一样;

prev.next = node 表示,让 prev.next 指向的节点和 node 指向的节点一样。


继续加油!:)

1
1
大雨小鱼
谢谢bobo老师,已经明白了。1 赋值不管从哪个方向看只是一个叙述差异,逻辑没有变。 2.prev.next指向的都是一个节点。
2021-03-23
共1条回复

大雨小鱼

提问者

2021-03-22

另一个问题

在node.next= prev.next中  prev.next 代表指向previous 的下一个元素。

在 prev.next = node 中 prev.next 代表指针。

是不是说prev.next 有两层意思?

0
0

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程