1. Was ist eine Header – Datei? Was darf in einer Header-Datei ...
1. Was ist eine Header – Datei? Was darf in einer Header-Datei ...
1. Was ist eine Header – Datei? Was darf in einer Header-Datei ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Fragenkatalog Programmieren 2 Stand: Februar 2013<br />
Blauenst<strong>e<strong>in</strong>e</strong>r<br />
Durch jeden Selbstaufruf der Funktion wird der Stapel (Stack) größer, <strong>ist</strong> <strong>e<strong>in</strong>e</strong><br />
Abbruchbed<strong>in</strong>gung erfüllt, also wenn <strong>e<strong>in</strong>e</strong> Funktion beendet wird, wird die zugehörige<br />
Rekursionsebene zerstört und zur vorherigen Ebene zurückgekehrt.<br />
Verwendet werden rekursive Algorithmen zum Beispiel bei Quicksort und beim Traversieren<br />
von Bäumen.<br />
23. <strong>Was</strong> <strong>ist</strong> <strong>e<strong>in</strong>e</strong> e<strong>in</strong>fach verkettete L<strong>ist</strong>e und wie <strong>ist</strong> diese aufgebaut?<br />
Unter <strong>e<strong>in</strong>e</strong>r L<strong>ist</strong>e versteht man <strong>e<strong>in</strong>e</strong> sequenzielle Ane<strong>in</strong>anderreihung von Elementen, deren<br />
Reihenfolge explizit festgehalten wird. E<strong>in</strong>e L<strong>ist</strong>e besteht aus Knoten, dar<strong>in</strong> werden<br />
<strong>e<strong>in</strong>e</strong>rseits die zu speichernden Daten und andererseits die Verkettung zum nächsten Knoten.<br />
Der Anfang der L<strong>ist</strong>e, der L<strong>ist</strong>enkopf, wird separat behandelt.<br />
In C wird e<strong>in</strong> sogenannter Knoten durch <strong>e<strong>in</strong>e</strong>n Verbunddatentyp realisiert, welcher die Daten<br />
und <strong>e<strong>in</strong>e</strong>n Verweis auf das nächste L<strong>ist</strong>enelement be<strong>in</strong>haltet. Der Kopf verwe<strong>ist</strong> auf das erste<br />
L<strong>ist</strong>enelement. E<strong>in</strong> Feld von Knoten muss nur noch <strong>in</strong>itialisiert werden und die Verkettungen<br />
erstellt werden.<br />
Der letzte Knoten muss speziell gekennzeichnet se<strong>in</strong>, damit das Ende der L<strong>ist</strong>e erkannt<br />
werden kann. Hierfür wird der Verweis auf das nächste L<strong>ist</strong>enelement im letzten Element auf<br />
NULL gesetzt.<br />
24. Wie funktioniert das „E<strong>in</strong>fügen“ <strong>in</strong> L<strong>ist</strong>en?<br />
Um e<strong>in</strong> neues Element <strong>in</strong> <strong>e<strong>in</strong>e</strong> bestehende L<strong>ist</strong>e e<strong>in</strong>zufügen, muss diese L<strong>ist</strong>e an der<br />
gewünschten Stelle aufgebrochen werden und der neue Datensatz dort e<strong>in</strong>gefügt werden.<br />
E<strong>in</strong> neues Element am L<strong>ist</strong>enanfang e<strong>in</strong>zufügen <strong>ist</strong> sehr e<strong>in</strong>fach, solange die Feldgrenze dabei<br />
nicht überschritten wird. Soll e<strong>in</strong> Element an <strong>e<strong>in</strong>e</strong>r anderen Stelle <strong>in</strong> der L<strong>ist</strong>e e<strong>in</strong>gefügt<br />
werden, so muss die L<strong>ist</strong>e aufgebrochen werden. Der zukünftige Vorgänger des neuen<br />
Elements muss auf das neue Element verkettet werden und das neue auf das<br />
Nachfolgerelement vom Vorgänger.<br />
25. <strong>Was</strong> <strong>ist</strong> <strong>e<strong>in</strong>e</strong> R<strong>in</strong>gl<strong>ist</strong>e?<br />
E<strong>in</strong>e R<strong>in</strong>gl<strong>ist</strong>e <strong>ist</strong> <strong>e<strong>in</strong>e</strong> sehr selten verwendete Form von L<strong>ist</strong>en. Dabei speichert der letzte<br />
Knoten <strong>e<strong>in</strong>e</strong>n Verweis an den L<strong>ist</strong>enanfang, wodurch <strong>e<strong>in</strong>e</strong> Rekursion ermöglicht wird.<br />
26. Erklärung Datenstruktur Schlange:<br />
Die Datenstruktur Schlange arbeitet nach dem Pr<strong>in</strong>zip FIFO (first <strong>in</strong> first out). Mit den<br />
Methoden put und get können Elemente <strong>in</strong> die Schlange gestellt werden und wieder<br />
entnommen werden. Das als erstes e<strong>in</strong>gefügte Element wird auch als erstes wieder<br />
entnommen. Schlangen s<strong>in</strong>d vorzugsweise mit L<strong>ist</strong>en implementiert.<br />
12