Parameterübergabe bei quickSort

Status
Nicht offen für weitere Antworten.
K

Katja

Gast
Hallo,
ich versuche nun schon eine ganze Weile eine quickSort-Methode aufzurufen, aber irgendwie funktioniert es nicht. Mit bubbleSort oder insertsort kein Problem, aber beim quickSort immer Fehlermeldung ist doch bestimmt nur ein kleines Problem bei der Parameterübergabe hier: "quickSort(liste, lo, hi)" . Aber was muss ich sonst übergeben? Wer kann mir helfen?


Code:
import java.util.*;
import java.io.*;

class tauschen{
	public static int [] liste ={3,6,2,33,21};



public static int [] quickSort(int[]liste, int lo, int hi){

	int mitte = liste[(lo+hi)/2];
	int i =lo;
	int j =hi;
	do{
		while (liste[i]<mitte) i++;
		while (liste[j] > mitte) j++;
		if (i<=j){
			int temp =liste[i];
			liste[i]=liste[j];
			liste[j]=temp;
			i++;
			j--;
		}
	}while (i<j);
	if (lo<j) quickSort(liste, lo, j);
	if (hi>i) quickSort(liste, i, hi);
	return liste;
}


public static void main (String[]args){



	System.out.println();
		quickSort(liste, lo, hi);

		for (int i=0;i < liste.length; i++)
		System.out.print (" " + liste[i] + " ");
		}

}
 

Redfrettchen

Bekanntes Mitglied
Hi,
erstmal ein omg für die ganzen static ;-).
Als nächstes:
Code:
...
      while (liste[i]<mitte) i++; 
      while (liste[j] > mitte) j++;
...
Wieso prüfst du, ob ein Listenelement kleiner als ein Index ist? Du meintest vermutlich:
Code:
...
      while (liste[i] < liste[mitte]) i++;
      while (liste[j] > liste[mitte]) j--;
...
Und bei j++ lag der Fehler, vermute ich.
 
G

Guest

Gast
Erstmal Danke für deine Antwort, ist natürlich richtig mit dem Index, aber dies war eigentlich noch nicht mein Problem, da ich die Methode bislang nicht aufrufen konnte. Irgendwie bekomme ich in Zeile 36 immer die Fehlermeldung, weiß aber nicht warum?
 
K

katja

Gast
habe es jetzt so hinbekommen, wollte jedoch die quicksort-methode direkt in meiner main-methode aufrufen.
Was ich aber irgendwie nicht geschafft habe.

Code:
import java.util.*;
import java.io.*;
public class tauschen{

public static int [] liste ={3,6,2,33,21};

public static int [] quickSort(int[]liste, int lo, int hi){
	int mitte = liste[(lo+hi)/2];
	int i =lo;
	int j =hi;
	do{
		while (liste[i]<mitte) i++;
		while (liste[j] > mitte) j--;
		if (i<=j){
			int temp =liste[i];
			liste[i]=liste[j];
			liste[j]=temp;
			i++;
			j--;
		}
	}while (i<j);
	if (lo<j) quickSort(liste, lo, j);
	if (hi>i) quickSort(liste, i, hi);
	return liste;
}

public static void ausgebenListe (int[] liste){
	  for (int i=0; i < liste.length; i++)
	    System.out.print(" " + liste[i] + " ");
	   }

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

public static void main (String[]args)throws IOException {
ausgebenListe(liste);
	System.out.println("");
    liste = tauschen.ausgeben(liste);
    ausgebenListe(liste);
		}

}
 

Redfrettchen

Bekanntes Mitglied
Ja, wie ich in meinem letzten Post angedeutet habe, hättest du bloß statt lo und hi, 0 bzw. liste.length-1 einsetzen müssen, was du hier auch getan hast. Schau dir mal von deinem zweiten Post die main-Methode an, da wird quicksort mit lo und hi aufgerufen; diese Variablen wurden aber nirgends deklariert.
 
K

Katja

Gast
Alles klar. Jetzt habe ich erst verstanden, was da abläuft.
Danke!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
P Parameterübergabe, von Methode zu Methode zu main Java Basics - Anfänger-Themen 4
J Parameterübergabe in switch? Java Basics - Anfänger-Themen 2
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
M Methode Objekt als Parameterübergabe Java Basics - Anfänger-Themen 6
B Parameterübergabe in main Java Basics - Anfänger-Themen 1
E Erste Schritte Parameterübergabe - Prozentrechner Java Basics - Anfänger-Themen 5
S Methoden Parameterübergabe Java Basics - Anfänger-Themen 4
S Parameterübergabe zwischen zwei Programme Java Basics - Anfänger-Themen 4
Joew0815 Parameterübergabe Java Basics - Anfänger-Themen 3
Q Parameterübergabe - Objekt - Referenz Java Basics - Anfänger-Themen 5
K Parameterübergabe im Terminal(Linux) Java Basics - Anfänger-Themen 8
V Parameterübergabe von Methoden verstehen Java Basics - Anfänger-Themen 13
P Java-Konsolenanwendung mit Parameterübergabe (Windows) Java Basics - Anfänger-Themen 3
X Parameterübergabe per Reflection Java Basics - Anfänger-Themen 10
H Parameterübergabe Java Basics - Anfänger-Themen 4
X Parameterübergabe Java Basics - Anfänger-Themen 6
S Parameterübergabe - identische Funktionen, aber falsche Funktion Java Basics - Anfänger-Themen 5
K Input/Output switch case - Parameterübergabe args[0] Java Basics - Anfänger-Themen 34
E Einfache Frage zur Parameterübergabe in Methoden Java Basics - Anfänger-Themen 8
A Parameterübergabe zwischen statischen und nicht statischen Klassen Java Basics - Anfänger-Themen 6
L Parameterübergabe Java Basics - Anfänger-Themen 6
K Parameterübergabe Java Basics - Anfänger-Themen 3
W Parameterübergabe Java Basics - Anfänger-Themen 9
Y Probleme mit Parameterübergabe Java Basics - Anfänger-Themen 8
O Parameterübergabe mit RadioButtons Java Basics - Anfänger-Themen 2
V Return - JA/NEIN - Parameterübergabe Array (Referenz) Java Basics - Anfänger-Themen 7
G Parameterübergabe über mehrer Klassen Java Basics - Anfänger-Themen 2
S parameterübergabe Java Basics - Anfänger-Themen 5
M Parameterübergabe an *.jar Java Basics - Anfänger-Themen 5
M Parameterübergabe an externe JAR-Datei? Java Basics - Anfänger-Themen 2
B Frage zu Code (Parameterübergabe) Java Basics - Anfänger-Themen 14
S Parameterübergabe: Generische Klasse Java Basics - Anfänger-Themen 4
B printf() mit Parameterübergabe? Java Basics - Anfänger-Themen 2
G Parameterübergabe als Referenz bzw. als Kopie Java Basics - Anfänger-Themen 4
G Java Applikation ein Programm mit Parameterübergabe starten Java Basics - Anfänger-Themen 3
V doPost parameterübergabe funktioniert nicht. Java Basics - Anfänger-Themen 5
G Problem bei Parameterübergabe Java Basics - Anfänger-Themen 2
T Runtime.getRuntime().exec mit parameterübergabe Java Basics - Anfänger-Themen 16
roflomfg Parameterübergabe in in "*.jar" files möglich? Java Basics - Anfänger-Themen 8
F Rekursive Aufrufe, Parameterübergabe, call by reference Java Basics - Anfänger-Themen 3
D probleme bei der Parameterübergabe Java Basics - Anfänger-Themen 12
M Parameterübergabe Java Basics - Anfänger-Themen 7
J Nested Layouts - Parameterübergabe bei ActionListener Java Basics - Anfänger-Themen 2
M Parameterübergabe! Java Basics - Anfänger-Themen 4
M Probleme bei Parameterübergabe in Rekursion Java Basics - Anfänger-Themen 5
G Parameterübergabe bei Runtime.getRuntime().exec Java Basics - Anfänger-Themen 16
J parameterübergabe arraylist Java Basics - Anfänger-Themen 9
D args und parameterübergabe Java Basics - Anfänger-Themen 8
D Parameterübergabe mit JSP Java Basics - Anfänger-Themen 2
I Parameterübergabe beim Aufruf in der Kommandozeile Java Basics - Anfänger-Themen 4
B Parameterübergabe und return; Java Basics - Anfänger-Themen 3
F Performanceverlust bei ständiger Parameterübergabe? Java Basics - Anfänger-Themen 4
K Parameterübergabe Java Basics - Anfänger-Themen 5
R Parameterübergabe Java Basics - Anfänger-Themen 13
H Parameterübergabe zwischen einzelnen Funktionen Java Basics - Anfänger-Themen 4
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

Ähnliche Java Themen

Neue Themen


Oben