30.05.2014 Aufrufe

Herunterladen - Ingo-Bartling.de

Herunterladen - Ingo-Bartling.de

Herunterladen - Ingo-Bartling.de

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.

Informatik-11.Klasse Kompositum<br />

Struktur am Beispiel einer Liste<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

1


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen<br />

Einfügen(neues Datenelement )<br />

Aktiv<br />

Wartend<br />

Liste<br />

- erstes<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Abschluss<br />

Daten<br />

Daten<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

2


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen<br />

Einfügen(neues Datenelement )<br />

Aktiv<br />

Wartend<br />

Liste<br />

- erstes<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Abschluss<br />

Daten<br />

Daten<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

3


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen<br />

Einfügen(neues Datenelement )<br />

Aktiv<br />

Wartend<br />

Liste<br />

- erstes<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Abschluss<br />

Daten<br />

Daten<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

4


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen<br />

Liste<br />

- erstes<br />

Aha, ich muss ein neues<br />

Listenelement mit mir als<br />

Nachfolger machen und meinen<br />

Vorgänger darüber Bescheid geben:<br />

return = new Datenknoten(this,Daten);<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Abschluss<br />

Daten<br />

Daten<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

5


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen<br />

Liste<br />

- erstes<br />

Wie soll ich<br />

meinen neuen<br />

Nachfolger<br />

kennenlernen?<br />

Ich weiß es und<br />

sage es dir.<br />

LE ist <strong>de</strong>in neuer<br />

Nachfolger<br />

Datenknoten<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Datenknoten<br />

- nachfolger<br />

- inhalt<br />

Abschluss<br />

Daten<br />

Daten<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

6


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen<br />

Liste<br />

- erstes<br />

Hallo aufrufen<strong>de</strong>r<br />

Vorgänger, vielleicht weißt<br />

du es schon, aber ich wollte<br />

dir sagen, dass ich <strong>de</strong>in<br />

Nachfolger bin.<br />

nachfolger = neuerNachfolger;<br />

Jetzt muss ich aber meinem<br />

Vorgänger Bescheid geben.<br />

Listenelement<br />

Listenelement<br />

Listenelement<br />

Abschluss<br />

- nachfolger<br />

- inhalt<br />

- nachfolger<br />

- inhalt<br />

- nachfolger<br />

- inhalt<br />

Daten<br />

Daten<br />

Daten<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

7


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen<br />

Liste<br />

- erstes<br />

nachfolger = nachfolger;<br />

Listenelement<br />

Listenelement<br />

Listenelement<br />

Abschluss<br />

- nachfolger<br />

- inhalt<br />

- nachfolger<br />

- inhalt<br />

- nachfolger<br />

- inhalt<br />

Daten<br />

Daten<br />

Daten<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

8


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen<br />

Liste<br />

- erstes<br />

erstes = Nachfolger;<br />

Listenelement<br />

Listenelement<br />

Listenelement<br />

Abschluss<br />

- nachfolger<br />

- inhalt<br />

- nachfolger<br />

- inhalt<br />

- nachfolger<br />

- inhalt<br />

Daten<br />

Daten<br />

Daten<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

9


Informatik-11.Klasse Kompositum<br />

Ablauf beim Anhängen - Sequenzdiagramm<br />

Liste Datenknoten 1 Datenknoten 2 Abschluss<br />

hintenEinfügen(neu)<br />

hintenEinfügen(neu)<br />

hintenEinfügen(neu)<br />

new()<br />

Datenknoten 3<br />

Datenknoten 3<br />

nächsterSetzen()<br />

Datenknoten 2<br />

nächsterSetzen()<br />

Datenknoten 1<br />

ersterSetzen()<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

10


Informatik-11.Klasse Kompositum<br />

Vorteile und Nachteile<br />

Vorteile<br />

✓ Das Einfügen und Entnehmen wird <strong>de</strong>n Datenknoten überlassen.<br />

✓ Die Datenknoten können auf unterschiedliche Dateninhalte verweisen.<br />

Nachteile<br />

✓ Alle aufgerufenen Datenknoten blockieren durch ihr Warten auf Antwort <br />

Speicherplatz.<br />

Eine Lösung ohne rekursiven Ansatz, son<strong>de</strong>rn das die Liste sich darum 
<br />

kümmert, verhin<strong>de</strong>rt das.<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

11


Informatik-11.Klasse Kompositum<br />

Spezialfälle<br />

Unterschie<strong>de</strong><br />

✓ Art <strong>de</strong>r Verkettung (einfach; doppelt – mit Vor- und Nachgänger)<br />

✓ Neue Elemente wer<strong>de</strong>n vorne hinzugefügt<br />

✓ Neue Element wer<strong>de</strong>n hinten hinzugefügt<br />

✓ Elemente wer<strong>de</strong>n automatisch vorne entnommen<br />

✓ Elemente wer<strong>de</strong>n automatisch hinten entnommen<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

12


Informatik-11.Klasse Kompositum<br />

Son<strong>de</strong>rfall 1 – Schlange (queue)<br />

FIFO First in, First Out<br />

Hinzufügen heißt put(newEl)
<br />

Entnehmen heißt put()<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

13


Informatik-11.Klasse Kompositum<br />

Son<strong>de</strong>rfall 2 – Stapel (Stack)<br />

LIFO Last in, First Out<br />

Hinzufügen heißt push(newEl)
<br />

Entnehmen heißt pop()<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

14


Informatik-11.Klasse Kompositum<br />

Aufgabe (Das muss je<strong>de</strong>r können)<br />

Implementiere<br />

Eine Queue zur Verwaltung von Taxis (Nr,<br />

Name) mit Hilfe <strong>de</strong>s Kompositum-Musters.<br />

Einen Stack zur Verwaltung von Fahrgästen<br />

(Name, Fahrziel).<br />

Schyren-Gymnasium, Pfaffenhofen / Ilm<br />

15

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!