Aufbau und Funktionsweise
Nachrichten anhängen
Die Methode append soll eine neue Nachricht ans Ende der Liste anhängen.
- Hänge die incomingMessage ans Ende der Liste an. Benutze dazu das Objektdiagramm.
- Entwerfe zur Methode append der Klasse List einen Algorithmus im Pseudocode.
- Tausche deinen Algortihmus mit jemand anders und lasse ihn überprüfen. Überarbeite ihn gegebenenfalls.
- Bereite dich darauf vor deinen Algorithmus anhand des Objektdiagramms präsentieren zu können.
- Erzeuge ...
- Setze das Attribut / die Variable ... auf die Referenz ...
Erste Nachricht entfernen
Die Methode remove soll den ersten Knoten der Liste entfernen.
- Entferne den Knoten mit der Nachricht von mike aus der Liste. Nutze dazu das Objektdiagramm.
- Entwerfe zur Methode remove der Klasse List einen Algorithmus im Pseudocode.
- Tausche deinen Algortihmus mit jemand anders und lasse ihn überprüfen. Überarbeite ihn gegebenenfalls.
- Bereite dich darauf vor deinen Algorithmus anhand des Objektdiagramms präsentieren zu können.
- Setze das Attribut / die Variable ... auf die Referenz ...
Aktuelle Nachricht entfernen
Die Methode remove soll erweitert werden, sodass der aktuelle Knoten (current) der Liste entfernt wird.
-
Entferne den Knoten mit der Nachricht von joe aus der Liste. Nutze dazu das Objektdiagramm.
-
Erweitere deinen Algorithmus zum Entfernen von Nachrichten, sodass der aktuelle Knoten (current) entfernt wird.
-
Bereite dich darauf vor deinen Algorithmus anhand des Objektdiagramms präsentieren zu können.
- Gehe so lange ... bis ...
- Setze das Attribut / die Variable ... auf die Referenz ...
Um den aktuellen (current) Knoten zu löschen, muss man den vorherigen Knoten kennen. Doch wie kommt man an den vorherigen Knoten?
Grenzfälle erkunden
Bis jetzt haben wir Knoten aus der Mitte entfernt und eine neue Nachricht ans Ende einer bereits gefüllte Liste angehängt. Doch man muss auch immer an Grenzfälle denken, wenn man einen Algorithmus formuliert.
Aufgaben
- Ermittle, welche Grenzfälle es in Bezug auf die Datenstruktur Liste gibt.
- Modifiziere deine Algorithmen so, dass die Grenzfälle beachtet werden.
- Funktionieren deine Algortihmen z.B. für eine leere Liste?
- Funktioniert dein Algorithmus z.B. beim Entfernen des letzen Knotens?
- Setze das Attribut / die Variable ... auf die Referenz ...
- Wenn ..., dann ...
- Gehe so lange ... bis ...