package com.ht.sort;
/**
* Created by IntelliJ IDEA.
* Date: 2009-10-21
* Time: 16:21:49
*/
public class QuickSort {
static int partition(Integer[] iarray, int low,int high) {
int temp = iarray[low];
while(low<high) {
while(low<high && iarray[high]>=temp) {
--high;
}
iarray[low] = iarray[high];
while(low<high && iarray[low]<=temp) {
++low;
}
iarray[high] = iarray[low];
}
iarray[low] = temp;
return low;
}
static void qSort(Integer[] iarray,int low,int high) {
if(low<high) {
int loc = partition(iarray,low,high);
qSort(iarray,low,loc-1);
qSort(iarray,loc+1,high);
}
}
static void quickSort(Integer[] iarray) {
qSort(iarray,0,iarray.length-1);
}
public static void main(String[] args) {
Integer[] iarray = {49,38,65,97,76,13,27,49,5};
quickSort(iarray);
for(Integer i:iarray) {
System.out.print(i+",");
}
}
}