编辑代码

public class paixu {

//根据基准值进行分区
public static int partition(int[] array, int arrStart, int arrEnd, int pivoPos) {
int ItpivotValueCount = 0;
int temp;
int pivotValue = array[pivoPos];
temp= array[pivoPos];
array[pivoPos]=array[arrEnd-1];
array[arrEnd-1]=temp;
for (int i = arrStart; i < arrEnd-1; ++i) {
if (array[i]<pivotValue){
temp=array[arrStart+ItpivotValueCount];
array[arrStart+ItpivotValueCount]=array[i];
array[i]=temp;
++ItpivotValueCount;
}
}
temp=array[arrEnd-1];
array[arrEnd-1]=array[arrStart+ItpivotValueCount];
array[arrStart+ItpivotValueCount]=temp;
pivotValue=array[arrStart+ItpivotValueCount];
return ItpivotValueCount+arrStart;

}

//返回基准值在数组里面的位置
static int findPivotPos(int[] array, int arrStart, int arrEnd) {
return arrStart;
}

public static boolean quickSort(int[] array, int arrStart, int arrEnd) {

if (arrEnd - arrStart < 2) {
return false;
}
//从数组中找基准值
int pivotPos = findPivotPos(array, arrStart, arrEnd);
int partition = partition(array, arrStart, arrEnd, pivotPos);
quickSort(array, arrStart, partition);
quickSort(array,partition+1,arrEnd);
return true;

}
public static void main (String[]args){
int[] array={3,4,15,9,26,5,3};
int partition = partition(array, 0, array.length, 2);
quickSort(array,0,array.length);
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
}

}