java快速排序

java快速排序

  • 作者:Geticsen
  • 时间:2019-04-28
  • 288人已阅读
简介 java快速排序的实现
//快速排序实现
public class Main {
    //排序主体
    public static void quickSort(int[] array,int low,int high){
        int i,j,temp,t;
        if(low>high){
            return;
        }
        i=low;
        j=high;
        //temp就是基准位
        temp = array[low];

        while (i<j) {
            //先看右边,依次往左递减
            while (temp<=array[j]&&i<j) {
                j--;
            }
            //再看左边,依次往右递增
            while (temp>=array[i]&&i<j) {
                i++;
            }
            //如果满足条件则交换
            if (i<j) {
                t = array[j];
                array[j] = array[i];
                array[i] = t;
            }

        }
        //最后将基准为i和j相等位置的数字交换
        array[low] = array[i];
        array[i] = temp;
        //递归调用左半数组
        quickSort(array, low, j-1);
        //递归调用右半数组
        quickSort(array, j+1, high);
    }
    public static void main(String[] args) {
        int arr[]=new int[1000];
        //随机数
        for (int i=0;i<1000;i++){
            arr[i]=(int)(Math.random()*10000);
        }
        //排序
        quickSort(arr,0,arr.length-1);
        //输出
        for (int i=0;i<1000;i++){
            System.out.println(arr[i]);
        }

    }

}


上一篇:git 的使用

下一篇:堆排序

文章评论

Top