bubble sort
-
wo liegt das Problem bei diesem Bubble Sort er Sortiert nur Teils Teils.
Wie kann ich das Problem beheben?
Hab den durchblick mal wieder überhaupt nicht.int j = 0; int i = 0; int result = 0; Tlaufer temp; for(j = 0; j < (ANZTEILNEHMER-1); j++) { for(i = (ANZTEILNEHMER-1); i > j; i--) { result = strcmp(lauferfeld[j].name, lauferfeld[i].name); if(result > 0) { temp = lauferfeld[i]; lauferfeld[i] = lauferfeld[i-1]; lauferfeld[i-1] = temp; } } }
-
Die hier dürfte funktionieren: Habe eine von mir mal umgebaut auf deinen Fall.
int i = 0, j; Tlaufer temp; for(; i < ANZTEILNEHMER - 1; ++i) { for(j = ANZTEILNEHMER - 1; j > i; --j) { if(strcmp(lauferfeld[j].name, lauferfeld[i].name) > 0) { swapTmp = lauferfeld[j - 1]; lauferfeld[j - 1] = lauferfeld[j]; lauferfeld[j] = swapTmp; } } }
MfG,
MaSTaH
[ Dieser Beitrag wurde am 26.06.2003 um 10:56 Uhr von MaSTaH editiert. ]
-
Danke für deinen Input. Ich habs nun so gelösst
for(i = 0; i < ANZTEILNEHMER ; i++) { for(j = i+1; j < ANZTEILNEHMER; j++) //+1 wegen Selbstvergleich { if(strcmp(lauferfeld[j].name, lauferfeld[i].name) < 0) { temp = lauferfeld[i]; lauferfeld[i] = lauferfeld[j]; lauferfeld[j] = temp; } } }