Quicksort - Probleme

Mr.GreenTea

Mitglied
Hallo alle zusammen,

wir behandeln zur Zeit die Sortieralgorithmen und sollen den Quicksort implementieren.
Ich muss sagen, ich hab mich anfangs sehr schwer getan, das Prinzip in Code umzusetzen.

Ich hab mir jetzt was zusammengebastelt, was eigentlich funktionieren sollte, allerdings Gerät das ganze an einer sehr merkwürdigen Stelle in eine "Endlosschleife??"

Bin das Programm im Debug-mode durchgegangen und es hört plötzlich auf. ???:L

Java:
package QickSort;

public class run {
	
	private static int[] swap(int[] array,int l,int r)
	{
		int tmp = array[l];
		array[l] = array[r];
		array[r] = tmp;
		
		return array;
	}
	
	private static void Quicksort(int[] array, int l, int r)
	{
		int pivot = array[l]; //Speichere das Pivotelement ab
		int i = l + 1; //Beginne bei einer Position rechts vom Pivotelement
		int j = r;
		
		if(r > l) //Solange das array größer als 1 ist
		{
			while(i <= j) //Bis sich die linke Suche und die rechte Suche treffen
			{
				while(array[i] < pivot); //Suche von links nach einem Element, größer als das Pivotelement
					i++;
				while(array[j] > pivot); //Suche von rechts nach einem Element, kleiner als das Pivotelement. Hier bricht das Programm ab... ohne Fehlermeldung
					j--;
			
				array = swap(array, i , j); //Vertausche die beiden Elemente
			}
			
			array = swap(array, i, l); //Tausche das Pivotelement mit dem Element, kleiner als das Pivotelement, das an rechtester Position sitzt
			
			for(int k = 0; k < array.length; k++)
				System.out.print(array[k] + "\t");
			
			Quicksort(array, l, i - 1); //Starte Quckisort erneut von links bis zur letzten Position vor dem Pivotelement
			Quicksort(array, i + 1, r); //Starte Quicksort erneut von der ersten Position rechts vom Pivotelement bis zur letzten Position
		}
		
		
		
	}
	

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int[] array = new int[] {-5, 13, -32, 7, -3, 17, 23, 12, -35, 19};
		
		Quicksort(array, 0, array.length - 1);
		
		
	}

}
 

Deros

Bekanntes Mitglied
Zeile 24 und 26 soll das Semilkolon am Ende bestimmt nicht sein.
Was nicht heißt, dass das Programm danach besser funktioniert, aber du hast zumindest keine Endlosschleife mehr...
 

Mr.GreenTea

Mitglied
Ok, den Fehler hab ich bei den vielen Verbesserungsarbeiten übersehen. Soweit würde auch alles funktionieren. Nur is jetzt n Logikfehler aufgetaucht, den ich so einfach nicht beheben werden kann.

Ich werd das ganz mal mit einer einseitigen Suche ausprobieren.

Vielen Dank :)
 

Barista

Top Contributor
Ich habe mich mit Quicksort nicht beschäftigt, aber ich würde sagen, in den while-Schleifen in Zeile 24 bis 26 müsste noch ein Abbruch-Kriterium

Java:
i < array.len

sowie

Java:
j >= 0

rein, um eine ArrayIndexOutOfBoundsException zu vermeiden.
 
Ok, den Fehler hab ich bei den vielen Verbesserungsarbeiten übersehen. Soweit würde auch alles funktionieren. Nur is jetzt n Logikfehler aufgetaucht, den ich so einfach nicht beheben werden kann.

Ich werd das ganz mal mit einer einseitigen Suche ausprobieren.

Vielen Dank :)

hat sich das Problem jetzt gelöst, weil sonst würde ich dir gerne noch helfen. Hab nämlich selbst eine GFS über das Thema gehalten, und weiß noch, wie ich mich nächtelang mit diesem Algorithmus geschlagen habe, bis ich es endlich 100% kapiert habe. Könnte nämlich meine alten Unterlagen nochmal hervorholen, aber natürlich nur, wenn dir das noch hilft.
 

Mr.GreenTea

Mitglied
hat sich das Problem jetzt gelöst, weil sonst würde ich dir gerne noch helfen. Hab nämlich selbst eine GFS über das Thema gehalten, und weiß noch, wie ich mich nächtelang mit diesem Algorithmus geschlagen habe, bis ich es endlich 100% kapiert habe. Könnte nämlich meine alten Unterlagen nochmal hervorholen, aber natürlich nur, wenn dir das noch hilft.

Hat sich erledigt. Mir hat dieses Divide & Conquer etwas zu schaffen gemacht. Deswegen viel mir auch der MergeSort so schwer. Konnte jetzt aber jeden Algorithmus in Ruhe durchgehen und hab alles verstanden.

Danke :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Quicksort programmieren Probleme Java Basics - Anfänger-Themen 9
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
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
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
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben