Before:
+----+----+ +----+----+
list ----> | 1 | +----> | 2 | / |
+----+----+ +----+----+
+----+----+ +----+----+
temp ----> | 3 | +----> | 4 | / |
+----+----+ +----+----+
After:
+----+----+ +----+----+ +----+----+ +----+----+
list ----> | 1 | +----> | 3 | +----> | 4 | +- --> | 2 | /
+----+----+ +----+----+ +----+----+ +----+----+
这就是我到目前为止所拥有的。。。。
List.next = temp;
Temp.next = list.next.next;
我不理解使用.next
和.next.next
的概念。
任何帮助都将不胜感激!
通常,变量(例如list
(指的是第一个"节点"。因此list
的值为1,list.next
的值为<2。
当您执行正确的list.next = temp;
时,但是您应该首先确保您有对2值的引用,因为一旦您将list.next
的值重置为temp
,您将丢失该引用。您可以通过创建另一个变量x
并将其设置为list.next
(2(来解决此问题。
然后,当您致电list.next = temp;
时,您将收到以下信息:
+----+----+
x ----> | 2 | / |
+----+----+
+----+----+ +----+----+ +----+----+
list ----> | 1 | +----> | 3 | +----> | 4 | /
+----+----+ +----+----+ +----+----+
之后,您可以使用.next
表示法来获得对4值节点的引用,并将其设置为x
(list.next.next.next = x;
(。
多次使用.next
可能有点麻烦,因此,如果它对您更有意义,您可以简单地创建一个新变量并将其设置为list.next
,重复使用,直到您有了对所需节点的引用(例如y = list.next;
(3(、y = y.next;
(4。