/*
* quicksort.java
*
* Created on 15. duben 2004, 8:42
*/
/**
*
* @author TO
*/
public class quicksort {
/** Creates a new instance of quicksort */
public quicksort() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int array[] = new int[1000];
System.out.println("Před setříděním: ");
for ( int i = 0; i < array.length ; i++)
{
array[i] = (int) (Math.random() * 1000.0);
System.out.println(array[i]);
}
qsort(array, 0, array.length-1 );
System.out.println("Po setřídění: ");
for ( int i = 0; i < array.length ; i++)
{
System.out.println(array[i]);
}
}
static void qsort( int array[], int first, int last) {
int low = first;
int high = last;
if ( first >= last ) return;
int mid = array[ (first+last) / 2 ];
do {
while ( array[low] < mid )
low++;
while ( array[high] > mid )
high--;
if ( low <= high )
{
int temp = array[low];
array[low++] = array[high];
array[high--] = temp;
}
} while ( low <= high );
qsort(array, first, high );
qsort(array, low, last );
}
}