05.08.2013 Aufrufe

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Collections 683<br />

// Füge eine Referenz an das Ende der Liste an<br />

public void add (E o)<br />

{<br />

anzahl++;<br />

}<br />

// Neuen Knoten erzeugen.<br />

Knoten knoten = new Knoten (o);<br />

// Ist das der erste Knoten?<br />

if (anfang == null)<br />

{<br />

anfang = knoten; // Anfang = Erster Knoten<br />

return; // fertig!<br />

}<br />

// Hilfsreferenz<br />

Knoten aktuell = anfang;<br />

// "Vorspulen" zum Listenende<br />

while (aktuell.next != null)<br />

{<br />

aktuell = aktuell.next;<br />

}<br />

// Neuen Knoten anhängen<br />

aktuell.next = knoten;<br />

// Entfernt eine Referenz aus der Liste<br />

public boolean remove (E o)<br />

{<br />

// Wenn Liste leer, sofort fertig<br />

if (anfang == null)<br />

{<br />

return false;<br />

}<br />

// Element suchen und löschen. Dabei muss der Vorgänger<br />

// nachgezogen werden, um die Lücke schließen zu können.<br />

Knoten aktuell = anfang; // Wir sind am Anfang...<br />

Knoten vorher = null; // und haben noch keinen Vorgänger<br />

// Solange das Listenende nicht erreicht ist . . .<br />

while (aktuell != null)<br />

{<br />

// Objekt gefunden?<br />

if (o.equals (aktuell.data))<br />

{<br />

anzahl--;<br />

// War es das erste Objekt?<br />

if (vorher == null)<br />

{<br />

// Erstes Element löschen:<br />

// Anfang = Zweites Element (= Nachfolger vom Anfang)<br />

anfang = aktuell.next;<br />

}

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!