Hallo!
Ich habe eine Aufgabenstellung und sitze schon Stunden davor, lese das Lernheft rauf und runter und google mir die Finger wund....
Ich denke ich sehe den Wald vor lauter Bäumen nicht und brauche einen Denkanstoß, ich hoffe ihr könnt mir helfen...
(Woran ich in so einem Forum nicht zweifle...)
Danke schon mal!


Aufgabenstellungen:
2. Erweitern Sie die zweite Version der einfach verketteten Liste so, dass das Listen-
ende beim Anhängen nicht immer wieder neu ermittelt werden muss, sondern neue
Elemente direkt am Ende der Liste angehängt werden können. Hängen Sie zum
Test mindestens 30 Elemente an.
Dazu ein paar Hilfestellungen:
• Sie müssen neben dem Anfang der Liste jetzt auch das Ende der Liste in
einer Variablen speichern können.
• Erstellen Sie eine Methode, die Ihnen das aktuelle Ende der Liste zurücklie-
fert. Alternativ können Sie sich das Listenende auch von der Methode zum
Anhängen liefern lassen.
• Setzen Sie den Wert der Variablen für das Listenende nach dem Anhängen
neuer Elemente jeweils auf das aktuelle Ende der Liste und rufen Sie dann
die Methode zum Anhängen neuer Listenelemente mit diesem Wert neu auf.
3. Erweitern Sie die einfach verkettete Liste mit Objekten aus diesem Studienheft so,
dass die Liste auch rückwärts ausgegeben werden kann.
Erstellen Sie dazu eine entsprechende Methode, die sich rekursiv aufruft.
Und hier der Code:
Ich habe eine Aufgabenstellung und sitze schon Stunden davor, lese das Lernheft rauf und runter und google mir die Finger wund....
Ich denke ich sehe den Wald vor lauter Bäumen nicht und brauche einen Denkanstoß, ich hoffe ihr könnt mir helfen...
(Woran ich in so einem Forum nicht zweifle...)
Danke schon mal!
Aufgabenstellungen:
2. Erweitern Sie die zweite Version der einfach verketteten Liste so, dass das Listen-
ende beim Anhängen nicht immer wieder neu ermittelt werden muss, sondern neue
Elemente direkt am Ende der Liste angehängt werden können. Hängen Sie zum
Test mindestens 30 Elemente an.
Dazu ein paar Hilfestellungen:
• Sie müssen neben dem Anfang der Liste jetzt auch das Ende der Liste in
einer Variablen speichern können.
• Erstellen Sie eine Methode, die Ihnen das aktuelle Ende der Liste zurücklie-
fert. Alternativ können Sie sich das Listenende auch von der Methode zum
Anhängen liefern lassen.
• Setzen Sie den Wert der Variablen für das Listenende nach dem Anhängen
neuer Elemente jeweils auf das aktuelle Ende der Liste und rufen Sie dann
die Methode zum Anhängen neuer Listenelemente mit diesem Wert neu auf.
3. Erweitern Sie die einfach verkettete Liste mit Objekten aus diesem Studienheft so,
dass die Liste auch rückwärts ausgegeben werden kann.
Erstellen Sie dazu eine entsprechende Methode, die sich rekursiv aufruft.
Und hier der Code:
Java:
/*######################################
* Eine verkettete Liste Version 2
######################################*/
//die Klasse f�r die Listenelemente
//jetzt auch mit Methoden
class Listenelement {
String daten;
Listenelement naechster;
//die Methode zum Setzen der Daten
void setDaten(String datenNeu) {
//die Zeichenkette setzen
daten = datenNeu;
//das Ende markieren
naechster = null;
}
//die Methode zum Anh�ngen eines neuen Elements
//sie ruft sich rekursiv auf, bis das Ende erreicht ist
void anhaengen(String datenNeu) {
//wenn das Ende erreicht ist, ein neues Element erzeugen
if (naechster == null) {
naechster = new Listenelement();
naechster.setDaten(datenNeu);
}
//sonst ruft sich die Methode selbst wieder auf
else
naechster.anhaengen(datenNeu);
//nur zur Veranschaulichung
System.out.println("Daten " + datenNeu + " wurden eingef�gt.");
}
//die Methode zur Ausgabe der Liste
//sie ruft sich ebenfalls rekursiv auf, bis das Ende erreicht ist
void ausgeben() {
System.out.println(daten);
if (naechster != null)
naechster.ausgeben();
}
}
public class Java05a_10 {
public static void main(String[] args) {
//ein neues Listenelement erzeugen
Listenelement listenAnfang = new Listenelement();
//die Daten im ersten Listenelement setzen
listenAnfang.setDaten("Element 1");
//weitere Elemente in einer Schleife einf�gen
for (int element = 2; element < 4; element++)
listenAnfang.anhaengen("Element " + element);
//die Liste ausgeben
listenAnfang.ausgeben();
}
}