链表中会发生什么?

时间:2019-10-01 00:55:26

标签: java linked-list singly-linked-list

假设x是一个链表节点。以下代码片段的作用是什么?

描述或画出与x有关的情况?

  1. t.next = x.next; x.next = t;

  2. x.next = x.next.next;

  3. x.next = t; t.next = x.next;

1 个答案:

答案 0 :(得分:0)

我能理解您问题的要点,但是似乎您正在询问Java分配及其影响和影响方式。答案是,这取决于您编写片段的顺序。请不要混淆对于类初始化,类实例是数据类型,就像Integers。当您读取它们的值时,就会收到它们在赋值时的值。

在第一种情况下,t.next指向x.next节点,x.next指向t节点。当然,t.next不会受到影响,因为x.next的值在赋值后发生变化,并将继续指向x.next指向开始的位置。但是,在第三种情况下,t.next将受到影响并将指向自身,因为分配是在x.next

初始化之后进行的

第二个例子很明显;您实际上已经取出一个指针并将其设置在其他位置。