我是否正確地編寫了這個構造函數? [英] Did I write this constructor properly?

查看:0
本文介紹了我是否正確地編寫了這個構造函數?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在為我的數據結構類處理一個項目,該項目要求我編寫一個類來實現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 otherint[] 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只是一個局部變量,因為在構造函數完成后您不再需要它。

這篇關于我是否正確地編寫了這個構造函數?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持IT屋!

查看全文
登錄 關閉
掃碼關注1秒登錄
發送“驗證碼”獲取 | 15天全站免登陸
亚洲AV无码国产精品