Did I write this constructor properly?(我是否正确地编写了这个构造函数?)
问题描述
我正在为我的数据结构类处理一个项目,该项目要求我编写一个类来实现INT的链表。使用Node的内部类。包括下面的方法。编写一个测试程序,使您能够以任何顺序使用您想要的任何数据来测试所有方法。我必须创建三个不同的构造函数。其中一个构造函数是一个构造函数,它接受一个整型数组,并创建一个包含所有整型的链表。我试着做了下面的代码。但我不确定我写的代码是否正确?是否有人可以验证我是否正确编写了代码,或者是否可以让我知道需要更改哪些内容才能正确编写代码?
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,而不仅仅是存储数组。因此,您应该从类的字段中删除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只是一个局部变量,因为在构造函数完成后您不再需要它。
这篇关于我是否正确地编写了这个构造函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:我是否正确地编写了这个构造函数?
				
        
 
            
        基础教程推荐
- 不推荐使用 Api 注释的描述 2022-01-01
 - 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
 - 验证是否调用了所有 getter 方法 2022-01-01
 - Java 实例变量在两个语句中声明和初始化 2022-01-01
 - 多个组件的复杂布局 2022-01-01
 - Java Swing计时器未清除 2022-01-01
 - 在 Java 中创建日期的正确方法是什么? 2022-01-01
 - 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
 - 大摇大摆的枚举 2022-01-01
 - 从 python 访问 JVM 2022-01-01
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				