public class QuickSortExp1{
public
static void main(String[] args){
int [] sortArray = new
int []{ 5 , 7 , 4 , 2 , 9 , 8 , 3 , 6 };
System.out.println( "before sorting ,the numbers are:" );
show(sortArray);
quickSort(sortArray, 0 ,sortArray.length- 1 );
System.out.println( "after sorting,the numbers are:" );
show(sortArray);
}
public
static void quickSort( int [] intArray, int
left, int
right){
if (left<right){
int
partValue = intArray[left];
int
low = left;
int
high = right;
while (low < high){
while (low <high && intArray[high]>partValue){
high--;
}
intArray[low] = intArray[high];
while (low <high && intArray[low] <partValue){
low++;
}
intArray[high] = intArray[low];
}
intArray[low] = partValue;
quickSort(intArray,left,low- 1 );
quickSort(intArray,low+ 1 ,right);
}
}
public
static void show( int [] intArray){
for ( int
i= 0 ;i<intArray.length;i++){
System.out.print(intArray[i]+ "\t" );
}
System.out.println();
}
}
|