Hi, ich habe ein Problem mit QuickSort
private int sortierung[] = {1,3,3,1,3,3,1,1,3,1,5};
Ausgabe:
5
3
3
3
3
3
1
1
1
1
1
wenn ich jetzt die fünf nicht im Array steht
Ausgabe:
3
3
1
3
3
3
1
1
1
1
das ist nicht mehr wirklich sortiert oder?
Hier ist mein code, vllt. kann mir ja jemand helfen:
und vielen dank für jede Hilfe!
private int sortierung[] = {1,3,3,1,3,3,1,1,3,1,5};
Ausgabe:
5
3
3
3
3
3
1
1
1
1
1
wenn ich jetzt die fünf nicht im Array steht
Ausgabe:
3
3
1
3
3
3
1
1
1
1
das ist nicht mehr wirklich sortiert oder?

Hier ist mein code, vllt. kann mir ja jemand helfen:
Code:
public class QuickSort
{
private int sortierung[] = {1,3,3,1,3,3,1,1,3,1};
/**
*
*/
public QuickSort()
{
super();
// TODO Auto-generated constructor stub
sortieren(0, sortierung.length-1);
}
public void sortieren(int y, int z)
{
int i = y;
int j = z;
int x = sortierung[(y+z)/2];
//Aufteilung
while(i <= j)
{
while(sortierung[i] > x)
{
i++;
}
while(sortierung[j] < x)
{
j--;
}
if(sortierung[i] <= sortierung[j])
{
exchange(i,j);
i++;
j--;
}
}
//Rekursion
if(y<j) sortieren(y,j);
if(i<z) sortieren(i,z);
}
public void exchange(int i, int j)
{
int tmp = sortierung[i];
sortierung[i] = sortierung[j];
sortierung[j] = tmp;
}
public void ausgeben()
{
for(int i = 0; i < sortierung.length; i++)
{
System.out.println("" + sortierung[i]);
}
}
public static void main(String args[])
{
QuickSort s1 = new QuickSort();
s1.ausgeben();
}
}
Zuletzt bearbeitet: