Ich muss eine Liste aus einem int-Array durch ListNode erstellen
ArrayToList(int[] Items):
Das ist der Kopf.
Java:
publicstaticListNodearrayToList(int[] items){if(items ==null){// deckt den Fall ab wenn das int-Array leer ist.returnnull;// soll dann auch null zurück geben.}returnnull;}
Und mir stellt sich jetz die Frage ob ich das Array mit ner for-Schleife abgehen soll bzw. wie ich dann die Werte durch eine ListNode anzeigen kann.
Oder geht es irgentwie leichter?
Und mir stellt sich jetz die Frage ob ich das Array mit ner for-Schleife abgehen soll bzw. wie ich dann die Werte durch eine ListNode anzeigen kann.
Oder geht es irgentwie leichter?
Hab jetz schon weiter gemacht und bin jetz schon mal so weit
Java:
publicstaticListNodearrayToList(int[] items){if(items ==null){returnnull;}for(int i =0; i<items.length;i++){ListNodeFirst=newListNode(items[i]);}returnFirst;// Fehlermeldung bei First }
jedoch funktioniert es noch nicht
vll kann mir hierbei jmd helfen
Das ist ja eine verkettete Liste.. Da musst Du dann die einzelnen Elemente Deines übergebenen Arrays jeweils mit setSuccessor(ListNode) an den aktuellen ListNode anhängen.
Ok macht Sinn danke.
Aber wie kann ich die Elemente allgemein an meine ListNode anhängen?
Also ohne genaue Werte zu haben bzw ohne die Länge meines Int-Arrays zu kennen?
Dann mache es doch in mehreren Schritten:
Erstelle ein Array für die ListNodes. Dann mache zuerst aus jedem Eintrag in deinem int-Array eine ListNode und füge die zu dem neuen Array hinzu
Im zweiten Schritt verknüpfst du dann die Elemente in deinem neuen Array.
Tust Du Dir damit noch schwer zu verstehen, wie das alles mit ListNode gehen soll?
Wie gesagt, das ganze ist eine -einfach- verkettete Liste. Das kannst du mal in Google eingeben und Dir genau anschauen (hatte ja auch schon ein Link gepostet). Eine weitere Idee, was das genau ist und wie das funktioniert, bekommst Du vlt. hier.
Tust Du Dir damit noch schwer zu verstehen, wie das alles mit ListNode gehen soll?
Wie gesagt, das ganze ist eine -einfach- verkettete Liste. Das kannst du mal in Google eingeben und Dir genau anschauen (hatte ja auch schon ein Link gepostet). Eine weitere Idee, was das genau ist und wie das funktioniert, bekommst Du vlt. hier.
Dann versuch doch mal sowas (ich geb Dir mal n bisschen Pseudo-Code):
Code:
ListNode first = erstes Element aus dem Array;
ListNode aktuell = first;
ListNode neu;
for (zahl i; von zweitem Array-Elem. bis zum letzten) {
neu = new ListNode(Inhalt von i-tem Array-Feld);
aktuell.setNachfolger(neu);
aktuell = neu;
}
return first;
Ok ich weiß danke
habs jetz soweit geschafft. (Vielen Dank)
Nur noch eins
Wenn der Fall eintretten sollte das das angegebene Array leer ist soll die Methode null zurück geben.
Habs jetz mehrmals mit if bzw if - else probiert aber immer wieder gescheitert.
Hat da vll noch jmd nen Tipp :bahnhof:?
Ich hätt gleich noch ein Problem gefunden bei ner anderen Aufgabe.
Befürchte das es nur eine Kleinigkeit ist aber ich finds gerade nicht.
Die Methode sumItems soll die Summe aller LIstenelemente ermitteln
(ListNode head):
Die Bedingung ist unsinnig. Ob dieses Element einen Nachfolger hat hat keine Auswirkungen, ob du auf den Content zugreifen kannst. Um zu überprüfen, ob es null ist, hast du ja die Bedingung im Kopf der Schleife.
Edit:
@mrbela
Ich sehe den Sinn daran nicht, warum du dem TO nun zur while-schleife raten willst.
Ich finde die Syntax der for-schleife da recht schön zu lesen und das Problem liegt bei ihm an einer anderen Stelle.