我是否正确编写了这个构造函数?
Did I write this constructor properly?
我正在为我的数据结构 class 开发一个项目,该项目要求我编写一个 class 来实现整数链表。对节点使用内部 class。包括以下方法。编写一个测试程序,使您能够以任何顺序使用您想要的任何数据测试所有方法。我必须创建三个不同的构造函数。其中一个构造函数是一个构造函数,它接受一个整数数组并创建一个包含所有整数的链表。我试过做下面的代码。但我不确定我是否正确编写了代码?有人可以验证我是否正确编写了代码,或者让我知道我需要更改哪些内容才能正确编写代码吗?
import java.util.Random;
public class LinkedListOfIntsTest {
Node head;
int[] array;
Node other;
private class Node {
int value;
Node nextNode;
public Node(int value, Node nextNode) {
this.value = value;
this.nextNode = nextNode;
}
}
public LinkedListOfIntsTest() {
}
public LinkedListOfIntsTest(int[] other) {
array = new int[other.length];
}
不,整个想法是将数组转换为LinkedList
,而不是仅仅存储数组。因此,您应该从 class.
的字段中删除 Node other
和 int[] array
进行转换的一种方法是将数组的每个元素转换为一个 Node
,像这样链接到前一个元素。
public LinkedListOfIntsTest(int[] other) {
Node[] nodes = new Node[other.length];
for( int index = 0; index < other.length; index++ ) {
nodes[index] = new Node(other[index], null);
if (index > 0) {
nodes[index - 1].nextNode = nodes[index];
}
}
head = nodes[0];
}
这里,nodes
只是一个局部变量,因为在构造函数完成后就不再需要它了。
我正在为我的数据结构 class 开发一个项目,该项目要求我编写一个 class 来实现整数链表。对节点使用内部 class。包括以下方法。编写一个测试程序,使您能够以任何顺序使用您想要的任何数据测试所有方法。我必须创建三个不同的构造函数。其中一个构造函数是一个构造函数,它接受一个整数数组并创建一个包含所有整数的链表。我试过做下面的代码。但我不确定我是否正确编写了代码?有人可以验证我是否正确编写了代码,或者让我知道我需要更改哪些内容才能正确编写代码吗?
import java.util.Random;
public class LinkedListOfIntsTest {
Node head;
int[] array;
Node other;
private class Node {
int value;
Node nextNode;
public Node(int value, Node nextNode) {
this.value = value;
this.nextNode = nextNode;
}
}
public LinkedListOfIntsTest() {
}
public LinkedListOfIntsTest(int[] other) {
array = new int[other.length];
}
不,整个想法是将数组转换为LinkedList
,而不是仅仅存储数组。因此,您应该从 class.
Node other
和 int[] array
进行转换的一种方法是将数组的每个元素转换为一个 Node
,像这样链接到前一个元素。
public LinkedListOfIntsTest(int[] other) {
Node[] nodes = new Node[other.length];
for( int index = 0; index < other.length; index++ ) {
nodes[index] = new Node(other[index], null);
if (index > 0) {
nodes[index - 1].nextNode = nodes[index];
}
}
head = nodes[0];
}
这里,nodes
只是一个局部变量,因为在构造函数完成后就不再需要它了。