21.11.2013 Aufrufe

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />

E<strong>in</strong> Element lässt sich folgendermassen vom Listenanfang entfernen:<br />

Ne<strong>in</strong><br />

Liste Leer?<br />

if (Head != NULL) {<br />

Ne<strong>in</strong><br />

Letztes Element?<br />

Head auf zweitvorderstes<br />

Element zeigen Head<br />

Tail<br />

lassen<br />

NULL<br />

zen<br />

Rückzeiger von zweitvorderstem<br />

Element<br />

auf Null setzen<br />

<strong>und</strong><br />

auf<br />

set-<br />

}<br />

if (Head->Next == NULL){<br />

Tail = NULL;<br />

Head = NULL;<br />

} else {<br />

Head = Head->Next;<br />

}<br />

Head->Previous = NULL;<br />

Um e<strong>in</strong> Element h<strong>in</strong>ter e<strong>in</strong>em gegebenen Element anzuhängen, ist wie folgt vorzugehen:<br />

Ne<strong>in</strong><br />

Letztes Element?<br />

if (Aktuell->Next != NULL)<br />

{<br />

Neues Element auf Neues Element<br />

Element h<strong>in</strong>ter aktuellem<br />

Element zeigen gen lassen<br />

auf NULL zei-<br />

lassen<br />

Rückzeiger von<br />

Rückzeiger von neuem<br />

neuem Element<br />

Element auf aktuelles<br />

auf aktuelles<br />

Element zeigen lassen<br />

Element zeigen<br />

lassen<br />

Rückzeiger von Element<br />

h<strong>in</strong>ter aktuellem<br />

Element auf neues<br />

Element zeigen lassen<br />

Tail auf neues<br />

Element zeigen<br />

lassen<br />

Aktuelles<br />

Element<br />

auf neues<br />

Aktuelles Element auf Element zeigen<br />

neues Element zeigen lassen<br />

lassen<br />

NewElement->Next =<br />

Aktuell->Next;<br />

NewElement->Previous =<br />

Aktuell;<br />

Aktuell->Next->Previous=<br />

NewElement;<br />

Aktuell->Next =<br />

NewElement;<br />

} else {<br />

NewElement->Next = NULL;<br />

NewElement->Previous =<br />

Aktuell;<br />

}<br />

Tail = NewElement;<br />

Aktuell->Next =<br />

NewElement;<br />

Achtung: Der Speicherplatz von Listenelementen, <strong>die</strong> aus e<strong>in</strong>er Liste entfernt werden <strong>und</strong> nicht<br />

mehr benötigt werden, muss mit free() wieder freigegeben werden, falls zum Erzeugen der Listenelemente<br />

malloc() verwendet wurde. Das Freigeben oder Erzeugen von Listenelementen ist<br />

jedoch nicht unbed<strong>in</strong>gt Aufgabe der E<strong>in</strong>füge <strong>und</strong> Entfernfunktionen.<br />

Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 106/147

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!