博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速排序
阅读量:5076 次
发布时间:2019-06-12

本文共 1054 字,大约阅读时间需要 3 分钟。

快速排序的基本思路:

1、在数组a中,有一段待排序的数据,下标从l到r。
2、取a[l]放在变量value中,通过由右、左两边对value的取值的比较,为value选择应该排定的位置。这时要将比value大的数放右边,比它小的数放左边。当value到达最终位置后(如下标m),由它划分了左右两个集合[l..m-1]、[m+1..r]。然后转第1步,再用相同的思路分别去处理左集合和右集合。

1 import java.math.BigInteger; 2 import java.util.Arrays; 3 import java.util.Scanner; 4  5  6 public class Main { 7     public static void main(String[] args) { 8         int[] a = {5,6,3,1,5,4,5,7,8,3}; 9         f(a,0,a.length-1);10         System.out.println(Arrays.toString(a));11     }12     public static void  f(int[] a,int l,int r){13         if(l>=r) return;14         int temp = a[l];15         int l1 = l;16         int r1 = r;17         boolean flag = true;18         while(l1
temp){29 a[r1] = a[l1];30 r1--;31 flag = true;32 }else{33 l1++;34 }35 }36 37 }38 a[l1] = temp;39 f(a,l,l1-1);40 f(a,l1+1,r);41 }42 }

 

转载于:https://www.cnblogs.com/lolybj/p/6599055.html

你可能感兴趣的文章
Android软键盘弹出,布局移动
查看>>
hdu1159
查看>>
需求工程——软件建模与分析阅读笔记一(三)
查看>>
单点登录原理与简单实现(转载)
查看>>
使用python+selenium发送QQ邮件
查看>>
bugku_web_求getshell
查看>>
算法训练篇(4)
查看>>
下载yum安装的rpm包
查看>>
分形之螺线
查看>>
前端性能优化(转)
查看>>
c++inline
查看>>
VS2005的初体验
查看>>
2018-2019-1 20165234 《信息安全系统设计基础》第二周学习总结
查看>>
Nginx+Keepalived实现高可用站点
查看>>
元组tuple
查看>>
checksec未完待续~
查看>>
Get Script Path in Shell
查看>>
关于C++中字符的转换
查看>>
iOS Swipe Tableviewcell(左右滑动出现按钮)
查看>>
LeetCode -- Power of Three
查看>>