本文介紹了我是否正確地編寫了這個構造函數?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在為我的數據結構類處理一個項目,該項目要求我編寫一個類來實現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
只是一個局部變量,因為在構造函數完成后您不再需要它。
這篇關于我是否正確地編寫了這個構造函數?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,