快速排序

快排思路

1.设置基准值,基准值左边比基准值小,基准值右边比基准值小,基准值作用就是定位该值在数组中的位置。
2.设置数组边界下标,当两个下标相同完成了基准值得定位。
3.思路分析-快排情景模拟。
4.根据基准值,结合归并思维和化整为零和递归思想完成数组排序。

代码
public class quickSort {

    private int qs(int []a,int left,int right){
        int aa = a[right];
        while(right>left){
           while(a[left]<=aa&&right>left){
               left++;
           }
            a[right]=a[left];
           while(a[right]>=aa&&right>left){
               right--;
           }
            a[left]=a[right];
        }
        a[right]=aa;
        return right;
    }
    private void qs2(int []a,int left,int right){
        if(right>left) {
            int qs = qs(a, left, right);
            qs2(a, left, qs-1);
            qs2(a, qs + 1, right);
        }
        System.out.println(Arrays.toString(a));
    }

    public static void main(String[] args) {
        int a[] ={5,9,11,6,7,10,2,1};
        quickSort quickSort = new quickSort();
        quickSort.qs2(a,0,a.length-1);
    }
}

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值