10.02.2014 Aufrufe

Gruppenaufgaben

Gruppenaufgaben

Gruppenaufgaben

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Informatik Praktikum <strong>Gruppenaufgaben</strong> 11/26<br />

Aufgabe 5.13 Sortier-Algorithmus<br />

Implementieren Sie den Sortier-Algorithmus Bubblesort (http://de.wikipedia.org/wiki/Bubblesort)<br />

in einem C-Programm MySort.exe mit mehreren Modulen und Funktionen. Ihr Programm soll die zu<br />

sortierenden Daten per Zufallsgenerator erheben und die Menge der zu sortierenden Daten dabei als<br />

Kommandozeilenparameter einlesen. Ein zweiter Kommandozeilenparameter soll optional den<br />

Namen einer Datei enthalten, in der das Ergebnis zusätzlich zur Ausgabe auf dem Bildschirm<br />

gespeichert wird. Der Aufruf könnte so aussehen:<br />

> MySort 25 erg.txt<br />

Beim BubbleSort-Algorithmus werden immer zwei benachbarte Elemente miteinander verglichen. Ist<br />

das eine größer als das andere, werden die beiden Werte vertauscht. Ein kleines Beispiel dazu:<br />

Ausgangslage:<br />

19 5 32 8<br />

Erster Durchlauf<br />

19 5 32 8 >> 5 19 32 8<br />

5 19 32 8 >> 5 19 32 8<br />

5 19 32 8 >> 5 19 8 32<br />

Zweiter Durchlauf<br />

5 19 8 32 >> 5 19 8 32<br />

5 19 8 32 >> 5 8 19 32<br />

5 8 19 32 >> 5 8 19 32<br />

Bei jedem Durchlauf wird auch jedes einzelne Arrayelement mit dem nächsten verglichen. Pro<br />

Arrayelement läuft eine äußere und einer innere Schleife durch. In diesem Fall gäbe es hier vier<br />

äußere Schleifendurchläufe - in diesem Beispiel ist das Array nach zwei Durchläufen allerdings<br />

bereits korrekt sortiert. Man könnte mit entsprechenden Prüfungen nun das Sortieren abbrechen, für<br />

die "Grundversion" ist das aber erstmals unnötig.<br />

Der Quelltext soll aus mehreren Modulen und Funktionen aufgebaut sein. Fangen Sie alle<br />

möglichen Fehlerquellen ab.<br />

Zusatzaufgabe: Optimieren Sie die Laufzeit!

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!