bubblesort mit zeigern
-
void bubblesort(T *x[], int laenge) { for (int i = 1; i < laenge; i++) // Durchläufe for (int j = laenge - 1; j >= i; j--) {// ein Durchlauf if (x[j - 1] > x[j]) { // vertauschen T *tmp = x[j - 1]; x[j - 1] = x[j]; x[j] = tmp; } } }
Warum sortiert mein bubblesort nicht
Habe ihn versucht mit Zeigern zum laufen zu bringen leider erfolgslos
-
Woher weißt du das?
-
Lapa1503 schrieb:
if (x[j - 1] > x[j]) { // vertauschen
Du möchtest doch sicher nach den Elemente sortieren und nicht die Adressen der Zeiger?
-
Das dachte ich mir ebenfalls, nur wenn ich
if (*x[j - 1] > *x[j]) { // vertauschen
schreibe dann erhalte ich den fehler ....gerade als ich den fehler hierher kopieren wollte hat es funktioniert O.O also vielen dank trotzdem haha
-
Lapa1503 schrieb:
Das dachte ich mir ebenfalls, nur wenn ich
if (*x[j - 1] > *x[j]) { // vertauschen
schreibe dann erhalte ich den fehler ....gerade als ich den fehler hierher kopieren wollte hat es funktioniert O.O also vielen dank trotzdem haha
- Manche hier erkennen den Fehler auf den ersten Blick. Hoffentlich hat davon einer Lust, zu antworten.
- Fast alle hier erkennen den Fehler, wenn Du auch so nett wärst, die Fehlermeldung des Compilers zu verraten. Damit erhöhst Du die Chancen auf eine nützliche Antwort einfach ungemein.