public class HelloJava{
public static void main(String[] args) {
int[] arr1 = new int[] {45,40,90,30,80,70,50};
System.out.println("排序前: ");
for(int i=0; i
System.out.print(arr1[i]+" ");
}
System.out.println();
System.out.println("快速排序后:");
quickSort(arr1, 0, arr1.length-1);
int[] arr2 = new int[] {11,52,4,5,65,4,2,1,45};
System.out.println("排序前: ");
for(int i=0; i
System.out.print(arr2[i]+" ");
}
System.out.println();
System.out.println("快速排序后:");
quickSort(arr2, 0, arr2.length-1);
}
private static int partition(int[] array, int low, int high) {
int temp = array[low];
while(low
while(low < high && array[high] >= temp)
high--;
array[low] = array[high];
while(low < high && array[low] <= temp)
low++;
array[high] = array[low];
}
array[low] = temp;
return low;
}
public static void quickSort(int[] array, int low, int high) {
if(low < high) {
int pa =partition(array, low, high);
for(int i=0; i
System.out.print(array[i]+" ");
}
System.out.println(" "+"返回枢轴元素位置:"+pa);
quickSort(array, low, pa-1);
quickSort(array, pa+1, high);
}
}
}