QuickSort

Status
Nicht offen für weitere Antworten.
M

MadMax77

Gast
Hi leutz,

ich brauch mal wieder hilfe. *g*

Folgendes Funktioniert nicht

Code:
/*
 * Created on 17.10.2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package de.hvb.max;

/**
 * @author MadMax
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class QuickSort
{

    public static void main(String[] args)
    {
        int[] werte = { 3, 7, 1, 9, 2, 5, 2,4,8,2,1};
        werte = qSort(werte);
        for (int i = 0; i < werte.length; i++)
        {
            System.out.print(werte[i] + " ");
        }
    }

    static int[] qSort(int[] liste)
    {
        qSort(liste, 0, liste.length - 1);
        return liste;
    }

    static void qSort(int[] liste, int re, int li)
    {
        if (re < li)
        {
            int vgleich = liste[li];
            int r = re-1;
            int l = li;
            for (;;)
            {
                while (liste[--r] < vgleich);
                while (l > 1 && liste[--l] > vgleich);
                if (l < r)
                    break;
                int nliste = liste[r];
                System.out.println(nliste);
                liste[r] = liste[l];
                liste[l] = nliste;
                System.out.println(nliste);
            }
            liste[li] = liste[r];
            System.out.println(liste[li]);
            liste[r] = vgleich;
            System.out.println(liste[r]);
            qSort(liste, re, r - 1);
            qSort(liste, r + 1, li);
        }
    }

}

thx leutz
 
M

MadMax77

Gast
folgender Fehlercode

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -2 ---> klar fehler bzgl. array
at de.hvb.max.QuickSort.qSort(QuickSort.java:43)
at de.hvb.max.QuickSort.qSort(QuickSort.java:30)
at de.hvb.max.QuickSort.main(QuickSort.java:21)
 

Mag1c

Top Contributor
Hi,

beim Aufruf von qSort(int[] liste, int re, int li) ist re == 0 (siehe Zeile 31). Damit wird r == -1 (siehe Zeile 40). Und da --r zuerst ausgeführt wird, bevor der Wert verwendet wird, greift er mit -2 leider neben das Array ;) (siehe Zeile 44).

Gruß
Mag1c
 
M

MadMax77

Gast
Hi

danke,

das ist mir auch bekannt. man könnte es halt 2 setzen, jedoch wär das keine proplemorientierte Lösung. :bae:

das ist ein ähnliches Beispiel aus einen Fachbuch für Informatiker, leider funktioniert es auch im Original nicht.

der Griff ins Klo (neben das Array), ist im buch ebenso vorhanden. (armer Autor) :lol:

Ich habe versucht es versucht, wenn ich links und rechts vertausche, dann kommt die meldung aber 5 durchläufe später.


Greetz
 

Mag1c

Top Contributor
Aha,

nun, wenn dir das alles bekannt ist und auch im Buch schon falsch ist, warum schmeißt du das Buch nicht ins Klo und suchst dir im Netz einen funktionierenden Quicksort ??

Gruß Mag1c
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Java Quicksort PAP Java Basics - Anfänger-Themen 2
B Quicksort in Verbindung mit einem Projekt Java Basics - Anfänger-Themen 1
M QuickSort und Liste Java Basics - Anfänger-Themen 6
S Laufzeit Quicksort wenn alle Elemente gleich sind Java Basics - Anfänger-Themen 4
G Quicksort Algorithmus Java Basics - Anfänger-Themen 12
Hanschyo Quicksort sortiert von groß nach klein Java Basics - Anfänger-Themen 3
R Quicksort mit Interface Comparable Java Basics - Anfänger-Themen 6
L Quicksort verstehen Java Basics - Anfänger-Themen 3
M Quicksort Laufzeit langsam Java Basics - Anfänger-Themen 5
M Quicksort Laufzeit langsam Java Basics - Anfänger-Themen 0
J Quicksort mit Stack Java Basics - Anfänger-Themen 4
Liondary Quicksort Java Basics - Anfänger-Themen 20
K Quicksort Fehler in der Implementierung Java Basics - Anfänger-Themen 2
S Quicksort Algorithmus Java Basics - Anfänger-Themen 2
D Java Quicksort Java Basics - Anfänger-Themen 5
A Frage zu QuickSort Java Basics - Anfänger-Themen 9
B Quicksort mit Durchschnitt als Pivot Java Basics - Anfänger-Themen 1
K Quicksort Java Basics - Anfänger-Themen 3
M Quicksort - Probleme Java Basics - Anfänger-Themen 5
T QuickSort implementieren Java Basics - Anfänger-Themen 5
R QuickSort Verständis Problem (?) Java Basics - Anfänger-Themen 2
M Quicksort implementierung Java Basics - Anfänger-Themen 23
E Quicksort Java Basics - Anfänger-Themen 8
Xendarii Quicksort gibt kein Ergebnis aus Java Basics - Anfänger-Themen 13
E QuickSort: Ergebniss speichern Java Basics - Anfänger-Themen 2
P quickSort eines Objekt-Arrays geht nicht! Java Basics - Anfänger-Themen 11
F Stackoverflow bei Quicksort Java Basics - Anfänger-Themen 2
F Quicksort Java Basics - Anfänger-Themen 22
C Quicksort Invariante Java Basics - Anfänger-Themen 2
C QuickSort - Pivot in der Mitte Java Basics - Anfänger-Themen 5
P QuickSort iterativ Java Basics - Anfänger-Themen 5
K Eine Frage zum Quicksort Java Basics - Anfänger-Themen 11
B Quicksort --> Methodenaufruf Java Basics - Anfänger-Themen 10
B QuickSort - Fehler nicht zu finden Java Basics - Anfänger-Themen 2
W Quicksort Problem Java Basics - Anfänger-Themen 3
A Quicksort, #Vergleiche zählen klappt nicht Java Basics - Anfänger-Themen 3
J Quicksort Implementierung-- Exception ArrayOutOfBounds Java Basics - Anfänger-Themen 6
M Fehler in meinem Quicksort! Java Basics - Anfänger-Themen 21
B Quicksort Struktogramm Java Basics - Anfänger-Themen 9
G Frage zu Quicksort Java Basics - Anfänger-Themen 18
0 Quicksort bsp Java Basics - Anfänger-Themen 5
B Quicksort Problem Java Basics - Anfänger-Themen 6
S Mein Quicksort Problem: he method quickSort(int[], int, int) Java Basics - Anfänger-Themen 2
M Quicksort Java Basics - Anfänger-Themen 2
C Quicksort raten Java Basics - Anfänger-Themen 2
K ArrayList sortieren mit Quicksort Java Basics - Anfänger-Themen 3
M Quicksort Java Basics - Anfänger-Themen 4
J Quicksort programmieren Probleme Java Basics - Anfänger-Themen 9
S Quicksort Programm Java Basics - Anfänger-Themen 7
D Quicksort Java Basics - Anfänger-Themen 3
K Parameterübergabe bei quickSort Java Basics - Anfänger-Themen 6
S QuickSort will mir nicht in den Kopf (an einer Stelle) Java Basics - Anfänger-Themen 14
0 Quicksort Java Basics - Anfänger-Themen 2
J QuickSort - kurze Frage Java Basics - Anfänger-Themen 9
H Quicksort und Rekursiv: Türme von Hanoi Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben