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.


Anmelden zum Antworten