Liste

Shantox

Mitglied
Hallo :)

Folgende Aufgabenstellung:
Gegeben: Folgende Datenstruktur einer verketteten Liste:
Java:
public class Liste
{
    private Element anfang;
    public class Element {
        int wert;
        Element naechstes;
      
        public Element(int wert) {
            this.wert = wert;
        }
    }

Gesucht:
Methode in der Klasse Liste, die das letzte Element der Liste findet und zurückgibt.

Ich stehe gerade auf dem Schlauch... Kann mir wer weiterhelfen?

MfG
 

Joose

Top Contributor
Die Liste hat ein Attribut, welches den Anfang der Liste darstellt.
Diese Element kann eine Referenz auf das nächste Element haben oder eben nicht. Solange es ein nächstes Element gibt ist das Ende der Liste nicht erreicht.
 

Shantox

Mitglied
Das habe ich schon größtenteils verstanden. Wie implementiere ich das aber? Ich hätte eine Idee, aber diese würde nur funktionieren, wenn naechstes static wäre.
 

Jardcore

Top Contributor
Fange doch erstmal mit dem Methodenrumpf an und arbeite dich weiter vor.
Java:
public Element getLastElement() {
    Element element = anfang;
    // Logik
    return element;
}

Die Logik hat dir Joose schon beschrieben... Du fängst am Anfang an und gehst bis zum Ende, das Element bei dem "naechstes == null" (Kein nächstes hat) ist ist das letzte Element der Liste.
 

Shantox

Mitglied
Java:
if(anfang <= naechstes) {
anfang++;
}
return anfang;

So. aber ich glaube das ist kompletter Schwachsinn
 
Zuletzt bearbeitet von einem Moderator:

Shantox

Mitglied
Java:
Element element = anfang;
        if(element + naechstes != null) {
            element++;
        }
        if(element + naechstes == null) {
            return element;
        }

Ich glaube, das kommt der Sache ein bisschen näher als das obere.
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Element ist eine Klasse. Was ist deiner Meinung nach das Ergebnis wenn du 2 Objekte von Element addierst?

Kleiner Tipp: Du willst die selbe Prüfung öfters wiederholen, solange bist du etwas zutrifft -> klingt ganz nach einer Schleife ;)

PS: Bitte verwende die Code-Tags! [code=java] ... dein code ... [/code]
 

Shantox

Mitglied
Das würde doch gar nicht gehen oder? Dies würde eben nur mit Zahlen funktionieren, aber element und naechstes haben den Datentyp Element.
Ich bin zu dumm dafür...
 

Jardcore

Top Contributor
Ich bin zu dumm dafür...
Das stimmt nicht, man braucht nur ein bisschen Übung. Wenn man schon öfter ähnliche Dinge programmiert hat wird es einfacher. Es ist noch kein Meister vom Himmel gefallen.

Java:
public Element getLastElement(){
   Element element = anfang;
   // Suche solange bis das Element keinen Nachfolger hat, und somit das letzte Element ist.
   while(element.naechstes != null) {

       // hier fehlt noch was      

   }
   return element;
}

Mit dem . in element.naechstes, bekommst du die Reference auf das Objekt welches an der Adresse hinterlegt ist.
Wie sieht eigentlich deine Einfüge-Methode aus?
 

Neue Themen


Oben