QuickSort-简洁版

public class quickSort {
    public static void QuickSort(int[] a, int left, int right) {
        if(left>right){
            return;
        }
        int key=a[left];
        int i=left;
        int j=right;

        while(i!=j){
            while(i<j && a[j]>=key){
                j--;
            }
            while(i<j &&a[i]<=key){
                i++;
            }
            if(i<j){
                int tmp=a[i];
                a[i]=a[j];
                a[j]=tmp;
            }
        }
        a[left]=a[i];
        a[i]=key;

        QuickSort(a,left,i-1);
        QuickSort(a,i+1,right);
    }

    //main方法中将数组传入排序方法中处理,之后打印新的数组
    public static void main(String[] stra) {
        int[] a = {7, 10, 3, 5, 4, 6, 2, 8, 1, 9};
        QuickSort(a, 0, a.length-1);
        for (int i = 0; i < a.length; i++)
            System.out.println(a[i]);
    }
}

堆排序

猜你喜欢

转载自blog.csdn.net/weixin_42080280/article/details/81560059