假设x是一个链表节点。以下代码片段的作用是什么?
描述或画出与x有关的情况?
t.next = x.next;
x.next = t;
x.next = x.next.next;
x.next = t;
t.next = x.next;
答案 0 :(得分:0)
我能理解您问题的要点,但是似乎您正在询问Java分配及其影响和影响方式。答案是,这取决于您编写片段的顺序。请不要混淆对于类初始化,类实例是数据类型,就像Integers。当您读取它们的值时,就会收到它们在赋值时的值。
在第一种情况下,t.next
指向x.next
节点,x.next
指向t节点。当然,t.next
不会受到影响,因为x.next
的值在赋值后发生变化,并将继续指向x.next
指向开始的位置。但是,在第三种情况下,t.next
将受到影响并将指向自身,因为分配是在x.next
第二个例子很明显;您实际上已经取出一个指针并将其设置在其他位置。