快速排序算法(java实现)
Posted 光小林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序算法(java实现)相关的知识,希望对你有一定的参考价值。
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<arr1.length; 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<arr2.length; 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<high) {
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<array.length; i++) {
System.out.print(array[i]+" ");
}
System.out.println(" "+"返回枢轴元素位置:"+pa);
quickSort(array, low, pa-1);
quickSort(array, pa+1, high);
}
}
}
以上是关于快速排序算法(java实现)的主要内容,如果未能解决你的问题,请参考以下文章