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

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

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

Liste Leer?<br />

Ja H<br />

Tail auf Neues Element<br />

zeigen lassen<br />

Neues Element auf bisher<br />

vorderstes Element zeigen<br />

lassen<br />

Head auf neues Element<br />

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

Head auf Nachfolger<br />

von bisher vorderstem<br />

Element zeigen lassen<br />

Ja<br />

Tail auf NULL<br />

setzen<br />

Liste Leer?<br />

Liste Leer?<br />

H<br />

H<br />

H<br />

H<br />

H<br />

T<br />

T<br />

T<br />

T<br />

T<br />

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

H<br />

H<br />

H<br />

H<br />

H<br />

H<br />

H<br />

T<br />

T<br />

T<br />

T<br />

T<br />

T<br />

T<br />

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

}<br />

Tail = NewElement;<br />

NewElement->Next =<br />

Head;<br />

Head = NewElement;<br />

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

}<br />

Head = Head->Next;<br />

If (Head == NULL) {<br />

}<br />

Tail = NULL;

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!