06.10.2013 Aufrufe

Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke

Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke

Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke

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.

<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 />

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

Head auf zweitvorderstes<br />

Element zeigen<br />

lassen<br />

Rückzeiger von zweitvorderstem<br />

Element<br />

auf Null setzen<br />

Liste Leer?<br />

Letztes Element?<br />

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

Head auf<br />

NULL setzen<br />

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

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

Tail = NULL;<br />

Head = NULL;<br />

} else {<br />

Head = Head->Next;<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 />

Neues Element auf<br />

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

Element zeigen<br />

lassen<br />

Rückzeiger von neuem<br />

Element auf aktuelles<br />

Element zeigen lassen<br />

Letztes Element?<br />

Neues Element<br />

auf NULL zeigen<br />

lassen<br />

Rückzeiger von<br />

neuem Element<br />

auf aktuelles<br />

Element zeigen<br />

lassen<br />

Rückzeiger von Ele- Tail auf neues<br />

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

Element auf neues lassen<br />

Element zeigen lassen<br />

Aktuelles Element<br />

auf neues<br />

Aktuelles Element auf Element zeigen<br />

neues Element zeigen lassen<br />

lassen<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 11.09.2008 13:04:00 Letzte Änderung am: 11. September 2008 Version 2.4, I. Oesch 106/147<br />

}<br />

}<br />

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

{<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;

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!