Zahlen sortieren mit C
Matthias Czapla
lal at grmblpfz.ath.cx
Son Dez 2 15:03:46 CET 2001
On Sun, Dec 02, 2001 at 01:40:30PM +0100, JAY wrote:
> sortiert. In der Praxis sieht es so aus, als wuerde
> es die Sortierschleife nur einmal durchlaufen und
> deshalb nicht vollstaendig sortieren.
> [...]
> do{
> sortiert = TRUE;
^^^^^^^^^^^^^^^^
> for(i = 0; i < n-1; i++)
> if(x[i+1] < x[i])
> {
> /*Tauschen und Merker setzen */
> h = x[i]; x[i] = x[i+1]; x[i+1] = h;
> }
> } while (sortiert == FALSE);
^^^^^^^^^^^^^^^^^^^^^^^^^
Da die Bedingung falsch ist (da sortiert TRUE ist), wird es nicht noch
nach mal durchlaufen.
Vielleicht eher so:
sortiert = TRUE;
while (sortiert) {
sortiert = FALSE;
for (i = 0; i < n - 1; i++)
if (x[i] > x[i+1]) {
h = x[i];
x[i] = x[i+1];
x[i+1] = h;
sortiert = TRUE;
}
}
Gruss
lal
--
tlug Mailingliste
Archiv: http://www.tlug.de/archiv/
http://schwarz.thueday.de/mailman/listinfo/tlug_allgemein