温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中怎么实现一个 快速排序算法

发布时间:2021-08-09 14:07:46 来源:亿速云 阅读:126 作者:Leah 栏目:云计算

Java中怎么实现一个 快速排序算法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。


  快速排序的基本思想是通过一个枢轴,将比枢轴小的数排在枢轴左边,将比枢轴大的数字排在枢轴右边,然后再对两边分别快速排序。


  如图所示
Java中怎么实现一个 快速排序算法


输入:数据元素数组r,划分序列区间[low..high]
输出:将序列划分为两个子序列并返回枢轴元素的位置

private int partition(Object[] r, int low, int high){
    Object pivot = r[low]; //使用r[low]作为枢轴元素while (low<high){ //从两端交替向内扫描while(low<high&&strategy.compare(r[high],pivot)>=0) high--;
        r[low] = r[high]; //将比pivot 小的元素移向低端while(low<high&&strategy.compare(r[low],pivot)<=0) low++;
        r[high] = r[low]; //将比pivot 大的元素移向高端}
    r[low] = pivot; //设置枢轴return low; //返回枢轴元素位置}

输入:数据元素数组r,数组r 的待排序区间[low..high]
输出:数组r 以关键字有序

public void quickSort(Object[] r, int low, int high){if (low<high){int pa = partition(r,low,high);
        quickSort(r,low,pa-1);
        quickSort(r,pa+1,high);
    }
}

关于Java中怎么实现一个 快速排序算法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI