24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

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.

186 2 <strong>UNIX</strong><br />

<strong>in</strong>t bubble(char *text)<br />

{<br />

<strong>in</strong>t i = 0, j = 0, flag = 0, z, l<strong>in</strong>e[MAXLIN];<br />

char array[MAXLIN][LINSIZ];<br />

FILE *fp;<br />

#if DEBUG<br />

pr<strong>in</strong>tf("Bubblesort %s\n", text);<br />

#endif<br />

/* E<strong>in</strong>lesen */<br />

if ((fp = fopen(text, "r")) == NULL) return(-1);<br />

while ((!feof(fp)) && (i < MAXLIN)) {<br />

fgets(array[i++], LINSIZ, fp);<br />

}<br />

fclose(fp);<br />

#if DEBUG<br />

puts("Array:");<br />

j = 0;<br />

while (j < i) {<br />

pr<strong>in</strong>tf("%s", array[j++]);<br />

}<br />

puts("Ende Array");<br />

#endif<br />

/* Sortieren (Bubblesort) */<br />

for (j = 0; j < MAXLIN; j++)<br />

l<strong>in</strong>e[j] = j;<br />

while (flag == 0) {<br />

flag = 1;<br />

for (j = 0; j < i; j++) {<br />

if (strcmp(array[l<strong>in</strong>e[j]], array[l<strong>in</strong>e[j + 1]]) > 0) {<br />

z = l<strong>in</strong>e[j + 1];<br />

l<strong>in</strong>e[j + 1] = l<strong>in</strong>e[j];<br />

l<strong>in</strong>e[j] = z;<br />

flag = 0;<br />

}<br />

}<br />

}<br />

/* Ausgeben nach stdout */<br />

#if DEBUG<br />

puts("Array:");<br />

j = 0;<br />

while (j < i) {<br />

pr<strong>in</strong>tf("%d\n", l<strong>in</strong>e[j++]);<br />

}

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!