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 ...
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 />
Um e<strong>in</strong> Element am Listenanfang e<strong>in</strong>zufügen, ist wie folgt vorzugehen:<br />
Struktogramm Graphisch Leere Liste C-Code<br />
Ja<br />
Liste Leer?<br />
Tail auf Neues Element<br />
zeigen lassen<br />
H<br />
T<br />
H<br />
H<br />
T<br />
T<br />
if (Head == NULL) {<br />
}<br />
Tail = NewElement;<br />
Neues Element auf bisher<br />
vorderstes Element zeigen<br />
lassen<br />
Head auf neues Element<br />
zeigen lassen<br />
H<br />
H<br />
T<br />
T<br />
H<br />
H<br />
T<br />
T<br />
NewElement->Next =<br />
Head;<br />
Head = NewElement;<br />
Um e<strong>in</strong> Element vom Listenanfang zu entfernen, ist wie folgt vorzugehen:<br />
Struktogramm Graphisch Leere Liste C-Code<br />
Ne<strong>in</strong><br />
Liste Leer?<br />
H<br />
T<br />
H<br />
T<br />
if (Head != NULL) {<br />
Head auf Nachfolger<br />
von bisher vorderstem<br />
Element zeigen lassen<br />
Ja<br />
Liste Leer?<br />
Tail auf NULL<br />
setzen<br />
H<br />
H<br />
T<br />
T<br />
H<br />
H<br />
T<br />
T<br />
}<br />
Head = Head->Next;<br />
If (Head == NULL) {<br />
Tail = NULL;<br />
}<br />
Um Elemente am Listenende e<strong>in</strong>zufügen oder zu entfernen müssen entsprechend modifizierte Operationen<br />
durchgeführt werden.<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 />
Aufgabe 27.1:<br />
Entwerfen Sie zwei C-Funktionen (Inklusive Design/Struktogramm), <strong>die</strong> Elemente am Listenende<br />
e<strong>in</strong>fügen resp. entfernen.<br />
Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 103/147