代码如下,

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Random; public class QuickSort {    public static void main(String[] args) {
      int[] arr = new int[20]; Random rand =new Random(); for(int i=0;i<arr.length;++i) arr[i] = rand.nextInt(40); System.out.println("原数据"+Arrays.toString(arr));

    quickSort(arr,0,arr.length-1);

    System.out.println("排序结果"+Arrays.toString(arr)); } public static void quickSort(int[] arr,int low,int high){
    int i,j,temp,t;
    if(low>high) return;

    i=low;
    j=high;

    temp = arr[low];//基准数 以为例
    while (i<j) {

        while (temp<=arr[j]&&i<j) j--;//找到比基准数小的

        while (temp>=arr[i]&&i<j) i++; //找到比基准数大的

        //如果满足条件则交换
        if (i<j) {
            t = arr[j];
            arr[j] = arr[i];
            arr[i] = t;
        }

    }
    //最后将基准为与i和j相等位置的数字交换
    arr[low] = arr[i];
    arr[i] = temp;
    //递归调用左半数组
    quickSort(arr, low, j-1);
    //递归调用右半数组
    quickSort(arr, j+1, high);


}

}