G
GreenThunder
Hallo,
seit Tagen sitze ich an dieser Aufgabe und finde einfach den Fehler nicht.
Wir sollen ein Feld, mit Hilfe von zwei Methoden (vorsortierung und quicksort), durch Quicksort sortieren lassen.
Dazu schrieb ich ein Programm, welches allerdings wohl eine Endlosschleife enthält, die ich einfach nicht finde. Ich hab meinen Programmcode schon mit zig Anderen aus dem Internet verglichen, aber ich finde einfach nicht den Fehler.
Ich würde mich freuen wenn ihr mir helfen könntet.
Die Methoden "erzeuge" und "ausgabe" funktionieren, deshalb habe ich sie aus Übersichtlichkeitsgründen weggelassen.
seit Tagen sitze ich an dieser Aufgabe und finde einfach den Fehler nicht.
Wir sollen ein Feld, mit Hilfe von zwei Methoden (vorsortierung und quicksort), durch Quicksort sortieren lassen.
Dazu schrieb ich ein Programm, welches allerdings wohl eine Endlosschleife enthält, die ich einfach nicht finde. Ich hab meinen Programmcode schon mit zig Anderen aus dem Internet verglichen, aber ich finde einfach nicht den Fehler.
Ich würde mich freuen wenn ihr mir helfen könntet.
PHP:
static int vorsortierung(int[] f, int li, int re)
{
int l=li;
int pivot=f[li];
while (li < re)
{
while (f[li]<pivot)
{
li=li++;
}
while (re >= l && f[re]>=pivot)
{
re=re--;
}
if (li<re)
{
int temp=f[li];
f[li]=f[re];
f[re]=temp;
}
}
if (re<l)
{
int temp=f[l];
f[l]=pivot;
pivot=temp;
return l;
}
else
{
return re;
}
}
static void quicksort(int[] f, int li, int re)
{
if (li<re)
{
int t=vorsortierung(f,li,re);
quicksort(f,li,t);
quicksort(f,t+1,re);
}
}
public static void main (String[] args) throws IOException
{
BufferedReader din = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Wieviele Zufallszahlen sollen erzeugt werden?: ");
int l = Integer.parseInt(din.readLine());
int[] feld = erzeuge(l);
System.out.print("Unsortiertes Feld: ");
ausgabe(feld);
quicksort(feld,0,feld.length-1);
System.out.print("Sortiertes Feld: ");
ausgabe(feld);
Die Methoden "erzeuge" und "ausgabe" funktionieren, deshalb habe ich sie aus Übersichtlichkeitsgründen weggelassen.
Zuletzt bearbeitet von einem Moderator: