Quicksort

Status
Nicht offen für weitere Antworten.
Hallo,

ich probiere mich gerade an Quicksort. Leider funktioniert es nicht:

Code:
private static int[] arraySort(SortArray records, String[] pivot, int start, int end, int store, int pivotPos) {
	String[] tmp;
	for(int i = start; i <= end; i++) {
		tmp = records.getElementAt(i);
		if(min(records, pivot, tmp) == tmp) {
			// Store erhöhen
			store++;				
			// Elemente vertauschen, eventuell pivotpos ändern
			if(switchElements(records, tmp, i, store).equals(pivot)) pivotPos = i;				
		}
	}		
	return new int[]{store, pivotPos};
}

edit: Ich mache den kompletten Code erstmal raus. Eigentlich muss ich glaube ich nur eins wissen:

if(switchElements(records, tmp, i, store).equals(pivot)) pivotPos = i;

Diese Bedingung wird niemals true. Woran liegt das?

switchElements funktioniert korrekt. Es vertauscht die Elemente tmp und das Element an position records.getElementAt(i);

und liefer dieses Element zurück. Das kann potentiell das pivot-Element sein. Kann man diese Elemente so nicht miteinander vergleichen?
 
S

SlaterB

Gast
da gibts nur die Aufgabe des Debuggings, was soll man da sonst sagen?

Object x = switchElements(records, tmp, i, store);
System.out.println(x, hashCode von x, charakterische Attribute von x)
System.out.println(pivot, hashCode von pivot, charakterische Attribute von x)

Objekte mit == vergleichen (System.out.println),
Objekte mit equals vergleichen (System.out.println)

wie ist equals definiert? wenn du diese Operation überschrieben hast
und zwei Objekte hast, die equal sein sollten aber es nicht sind,
dann musst du die equals-Operation mit System.out.println vollpflastern, bis du den genauen Grund kennst, warum false statt true zurückgegeben wird,
 
G

Gast

Gast
hm ja danke..

ich habe jetzt einfach mit equals pivot[0]..[2] mit tmp[0]..[2] verglichen, also jedes element des arrays und so funktionierts..
 
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
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
M QuickSort Java Basics - Anfänger-Themen 4
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