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

void InsertBeh<strong>in</strong>d(ListElement *Where, ListElement *What) {<br />

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

PushBack(What);<br />

} else {<br />

What->Previous = Where;<br />

What->Next = Where->Next;<br />

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

Tail = What;<br />

} else {<br />

Where->Next->Previous = What;<br />

}<br />

Where->Next = What;<br />

}<br />

}<br />

void InsertBefore(ListElement *Where, ListElement *What) {<br />

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

PushFront(What);<br />

} else {<br />

What->Previous = Where->Previous;<br />

What->Next = Where;<br />

if (Where->Previous == NULL) {<br />

Head = What;<br />

} else {<br />

Where->Previous->Next = What;<br />

}<br />

Where->Previous = What;<br />

}<br />

};<br />

ListElement *Erase(ListElement *Which) {<br />

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

return (NULL);<br />

}<br />

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

Tail = Which->Previous;<br />

} else {<br />

Which->Next->Previous = Which->Previous;<br />

}<br />

if (Which->Previous == NULL) {<br />

Head = Which->Next;<br />

} else {<br />

Which->Previous->Next = Which->Next;<br />

}<br />

return Which->Next;<br />

}<br />

<strong>in</strong>t ma<strong>in</strong>(<strong>in</strong>t argc, char* argv[]) {<br />

}<br />

ListElement *Tmp = (ListElement *) malloc(sizeof(ListElement));<br />

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

PushFront (Tmp);<br />

}<br />

Tmp = PopBack();<br />

free(Tmp);<br />

Um mit mehreren Listen gleichzeitig arbeiten zu können, kann das Modul dah<strong>in</strong>gehend geändert<br />

werden, das Tail <strong>und</strong> Head <strong>in</strong> e<strong>in</strong>e Struktur gepackt werden, <strong>und</strong> allen Funktionen als zusätzliches<br />

Argument e<strong>in</strong> Zeiger auf e<strong>in</strong>e solche Struktur übergeben wird.<br />

Jede Liste hat so ihre eigene Listenverwaltung (Listenkopf <strong>und</strong> Ende).<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!