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