2016-04-20 7 views
0

Also habe ich die folgende Klasse und versuche eine Methode zu erstellen, bei der ein Array in eine Knotenliste konvertiert wird. Ich habe versucht eine for-Schleife, aber ich kann es nicht durch meinen Verstand versuchen, die nächsten für jeden Wert zu setzen.Java Manuelles Konvertieren von Array in die Knotenliste

public class Node { 
    public Node(int value, Node link) { 
     data = value; 
     next = link; 
    } 

    public void setData(int n) { 
     data = n; 
    } 

    public void setNext(Node link) { 
     next = link; 
    } 

    public int getData() { 
     return data; 
    } 

    public Node getNext() { 
     return next; 
    } 

    private int data; 
    private Node next; 

    public Node arrayToList(int[] a) { 
     for (int i = 0; i < a.length-1; i++) { 
      Node n = new Node(a[i], //a[i+1] but it must be a Node, so how would you loop the next Node); 
     } 
    } 
} 

Antwort

2

Iterieren Sie das Array einfach in umgekehrter Reihenfolge. Achte darauf, dass du zwischen den Iterationen den Erfolg speicherst, und halte dich bereit für die endgültige Rückkehr.

public Node arrayToList(int[] a) { 
    Node succ = null; 
    Node n; 
    for (int i = a.length-1; i >= 0; i--) { 
    n = new Node(a[i], succ); 
    succ = n; 
    } 
    return n; 
}