Rhyme/Quick Sort 快速排序Java版

来源:互联网 发布:sql的distinct怎么删除 编辑:程序博客网 时间:2024/05/20 04:27

Quick Sort 快速排序Java版

package com.maple.quicksort;/** * @author RhymeChiang * @date 2017/12/02 **/public class QuickSort2 {    public static int [] quickSort(int left,int right,int a[]){        if(a==null||left>=right){            return a;        }        int le = left;        int rig = right;        boolean rightGet = false;        boolean leftGet = false;        while(le < rig){            if(a[rig]<a[left]){                rightGet=true;            }else{                rig--;            }            if(a[le]>a[left]){                leftGet=true;            }else{                le++;            }            if(rightGet&&leftGet){                int tmp = a[le];                a[le]=a[rig];                a[rig]=tmp;                rightGet=false;                leftGet=false;                rig--;                le++;            }        }        int tmp = a[left];        a[left]=a[rig];        a[rig]=tmp;        quickSort(left,le-1,a);        quickSort(le+1,right,a);        return a;    }    public static void main(String[] args) {        int a [] = new int[]{6, 1, 2, 7, 9, 3, 4, 5, 10, 8};        int[] sort = quickSort(0, a.length-1, a);        for (int i = 0; i <sort.length; i++) {            System.out.print(sort[i]+" ");        }    }}

这里写图片描述

原创粉丝点击