Bubblesort sortiert nicht richtig
-
Guten Tag,
aus irgendeinem Grund sortiert mein Bubblesort nicht richtig.
Mein Code lautet:#include <stdio.h> #include <stdlib.h> void bubblesort(int *feld, int anzahl) { int i; int end; int anzahlvertauschungen; int w; //Variable zum Zwischenspeichern end =anzahl; do { anzahlvertauschungen=0; end--; for(i=0; i<end; i++) { if(feld[i]>feld[i+1]) //Wenn das Element groesser als sein Nachbar ist, werden die beiden vertauscht { w=feld[i]; feld[i]=feld[i+1]; feld[i+1]=feld[i]; anzahlvertauschungen++; } } } while(anzahlvertauschungen && end >2); } int main() { int feld[]={6,4,8,75,4,58,547,56,54,5887,54,8544,854,75}; int i; int len; len=sizeof(feld)/sizeof(int); //Anzahl der Elemente des Feldes berechnen bubblesort(feld,len); for(i=0; i<len; i++) printf(" %d ", feld[i]); }
wenn ich es ausführe, zeigt es auf der Konsole folgendes an:
4,4,4,4,4,54,54,54,54,54,54,75,75,75
warum
Vielen Dank
-
Denk nochmal über deine Implementation einer Vertauschung nach.
-
Weil du falsch tauscht.
-
feld[i+1]=w;
...
-
AAAAAAAAAAAAAA
vielen Dank
das hab ich total überlesen