Class 链表中的下一个对象是如何工作的?它如何使另一个类对象指向下一个地址?
例如,如果我正在创建类节点的新对象newnode,它如何使用。next查找列表的下一个地址?在您的示例中,codeClass 链表中的下一个对象是如何工作的?它如何使另一个类对象指向下一个地址?,class,object,pointers,linked-list,iterator,Class,Object,Pointers,Linked List,Iterator,例如,如果我正在创建类节点的新对象newnode,它如何使用。next查找列表的下一个地址?在您的示例中,codenext只是null。实际上,没有必要显式执行newnode.next=null,因为它已在节点中初始化为null 当您将另一个新节点指定给所创建节点的下一个属性时,它会变得更有趣: class Node { public int data; public Node next; public Node(int idata) { dat
next
只是null
。实际上,没有必要显式执行newnode.next=null代码>,因为它已在节点中初始化为null
当您将另一个新节点指定给所创建节点的下一个属性时,它会变得更有趣:
class Node
{
public int data;
public Node next;
public Node(int idata) {
data = idata;
next = null;
}
}
Node newnode = new Node(val);
newnode.next = null;
在Java中,对象是通过引用访问的newnode
就是这样一个引用,而newnode.next
也是这样一个引用。两者都是对节点
实例的引用(如果不是null
)
我们可以进一步扩展链接列表:
Node newnode = new Node(1);
newnode.next = new Node(2);
当您意识到next
是一个可以像任何变量一样保存值的属性时,它就真的没有什么魔力了
例如,您还可以首先创建断开连接的节点实例,并且仅在创建后将它们链接在一起:
newnode.next.next = new Node(3);
newnode.next.next.next = new Node(4);
我还有一个疑问,比如在你的例子中,如果d是我们添加的最后一个引用,它会自动指向null吗?或者我们必须显式地写入d.next=null?调用new Node()
将在节点的构造函数中执行代码,并且next
被设置为null
。因此,尾部节点不需要额外的操作。
Node a = new Node(1);
Node b = new Node(2);
Node c = new Node(3);
Node d = new Node(4);
a.next = b;
b.next = c;
c.next = d;