Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Q1

Methodenimplementation

Exemplarisch für die zu implementierenden Methoden sollen hier zwei Methoden dargestellt werden.

Die anderen Methoden sind dann durch Sie selbst zu implementieren.

public void zumAnfang()

Hierbei soll das "aktuelle Listenelement" auf den Anfang der Liste gesetzt werden.

Das ListenElement Aktuell muss also auf das Kopfelement der Liste gesetzt werden.

public void zumAnfang()
{
  Aktuell=Kopf;
}
public Object aktuellesEntfernen()

Das "aktuelle Listenelement" wird entfernt und sein Inhalt zurückgegeben. Das neue "aktuelle Listenelement" ist das Element vor dem entfernten. Wird das erste Listenelement entfernt, ist das neue "aktuelle Listenelement" der neue Listenanfang.

Es muss also erst einmal überprüft werden, ob die Liste leer ist, dann ist nichts zu tun und null als Rückgabewert zurückzugeben. Als nächstes muss überprüft werden, ob das zu entfernende Listenelement der Kopf der Liste ist, dann ist anders zu verfahren als bei einem beliebigen anderen Element.

public void Object aktuellesEntfernen()
{
  if (Kopf==null) //leere Liste
    return null;

  ListenElement entferne=Aktuell, temp=Kopf;
  if (entferne==Kopf) //erstes Element entfernen
  {
    Kopf=Kopf.next;
    Aktuell=Kopf;
  }
  else
  {
    while (temp.next!=entferne)
    temp=temp.next;
    //Vorgänger von entferne in temp
    temp.next=aktuell.next;
    aktuell=temp;
  }
  return entferne.Inhalt;
}

Im ersten Fall wird das neue Kopf-Element der Nachfolger von Kopf (Kopf.next) und das neue aktuelle Element der neue Kopf.

Im anderen Fall wird beginnend bei Kopf (im Objekt temp durch temp=Kopf) die Liste solange durchlaufen, bis der Nachfolger von temp das zu entfernende Element ist. Dann wird die next-Verknüpfung des Vorgänger-Elements auf den Nachfolger des zu entfernenden Elements gesetzt (temp.next=aktuell.next). Danach wird das neue aktuelle Element auf das Vorgänger-Element gesetzt (aktuell=temp). Zum Schluss erfolgt die Rückgabe des Inhalts des entfernten Elements.


© Ralph-Erich Hildebrandt, 26. November 2004