Hallo Zusammen,
Ich habe folgendes keines JAVA-Programm erstellt.
Leider loopt es nach dem erzeugen und ausgeben der Zufallszahlen.
Und ich kann nicht rausfinden wo!!
Ich habe ein break; nach dem Aufrufen von swap(); gemacht, aber es funkt gleich nicht.???:L???:L???:L
Kann mir jemand da weiterhelfen?
Danke
Ich habe folgendes keines JAVA-Programm erstellt.
Java:
import java.util.Random;
public class QuickSort {
private int[] array;
public static void main(String args[])
{
new QuickSort();
}
public QuickSort()
{
array = new int[20];
erzeugeZufallsZahl();
print();
sort(0,array.length-1);
print();
}
private void erzeugeZufallsZahl()
{
Random zufallsZahl = new Random();
for(int i=0; i<array.length; i++){
array[i] = zufallsZahl.nextInt(98)+1;
}
}
public void sort(int low, int high)
{
int i = low, j = high;
int pivot = array[(low + high)/2];
while(i<=j)
{
while(array[i] < pivot){
i++;
}
while(array[j] > pivot){
i--;
}
if(i<=j){
swap(i, j);
i++;
j--;
}else{
break;
}
if(low < j){
sort(low, j);
}
if(i < high){
sort(i, high);
}
}
}
public void print()
{
System.out.println("*========================================*");
System.out.println("* Zufallszahlen welche zu sortieren sind *");
System.out.println("*========================================*");
for(int i = 0, x = 1; i < array.length; i++, x++)
{
System.out.print("Zahl "+ x + ": " + String.valueOf(array[i])+ "\n");
}
System.out.println("*========================================*");
System.out.println("* Sortierte Zahlen *");
System.out.println("*========================================*");
}
public void swap(int i, int j)
{
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
Leider loopt es nach dem erzeugen und ausgeben der Zufallszahlen.
Und ich kann nicht rausfinden wo!!
Ich habe ein break; nach dem Aufrufen von swap(); gemacht, aber es funkt gleich nicht.???:L???:L???:L
Kann mir jemand da weiterhelfen?
Danke