代码中有Node nextNode.js 类。我无法理解它到底在做什么。是否创建一个名为 next 的对象。nodeA.next = nodeB使用时是否有存储价值。我正在尝试学习 LinkedList 但我无法了解到底发生了什么。
class Node{
int data ;
Node next;
Node(int data){
this.data = data ;
}
}
Node nodeA = new Node(6);
Node nodeB = new Node(3);
Node nodeC = new Node(2);
nodeA.next = nodeB;
nodeB.next = nodeC;
Run Code Online (Sandbox Code Playgroud)
小智 6
让我们拆分代码并解释各个部分:
class Node {
}
Run Code Online (Sandbox Code Playgroud)
这是创建新类的语法。该类被命名为“Node”。
int data;
Run Code Online (Sandbox Code Playgroud)
这定义了一个实例变量。Node 类型的每个实例都应该有一个名为 int 类型数据的变量。
Node next;
Run Code Online (Sandbox Code Playgroud)
这定义了另一个实例变量。它被称为 next 并保存对 Node 的引用。
Node(int data){
this.data = data ;
}
Run Code Online (Sandbox Code Playgroud)
这就是所谓的构造函数。它接受一个参数 data,然后将其存储在实例变量 data 中。(实例变量用“this.”引用,因为参数数据隐藏了同名实例变量。)
这就是课程本身。现在我们看看它的用法(这在类/函数之外没有意义。此类代码应该是函数的一部分,例如在主函数内):
Node nodeA = new Node(6);
Node nodeB = new Node(3);
Node nodeC = new Node(2);
Run Code Online (Sandbox Code Playgroud)
这将创建类节点的 3 个实例,并将其存储在 nodeA、nodeB 和 nodeC 变量中。
nodeA.next = nodeB;
nodeB.next = nodeC;
Run Code Online (Sandbox Code Playgroud)
这里,我们设置nodeA和nodeB的next实例变量并分配nodeB和nodeC。
这给了我们一个所谓的链表。列表中的一个元素可以指向另一个元素(或者当其中没有元素引用时,则默认为 null。
这有助于理解代码吗?如果不是:您在理解代码时到底在哪里遇到问题?
| 归档时间: |
|
| 查看次数: |
3678 次 |
| 最近记录: |