快速排序
2016-02-18 22:48
302 查看
<span style="font-size:18px;">/** * 快速排序 * @author xxxu * */ public class QuickSort { private void exch(int[] a,int i,int j){ int t=a[i]; a[i]=a[j]; a[j]=t; } private int partition(int[] a,int lo,int hi){ int x=a[hi];//每次比较的数 int i=lo-1; for (int j = lo; j < hi; j++) { if(a[j]<=x){ i++; exch(a,j,i); } } //j=hi时交换,也就是最后一个,到这里为止,数组前部分的数比x小,后部分的数比x大,不要问为什么,自己去用笔一步一步执行 exch(a,hi,i+1); return i+1; } public void sort(int[] a){ int lo=0; int hi=a.length-1; sort(a,lo,hi); } private void sort(int[] a, int lo, int hi) { if(hi<=lo){ return; } int mid=partition(a, lo, hi); sort(a,lo,mid-1); sort(a,mid+1,hi); } public void show(int[] a){ for (int i = 0; i < a.length; i++) { System.out.print(a[i]+" "); } System.out.println(); } }</span>
相关文章推荐
- iOS开发-Sqlite
- 自己动手丰衣足食之移动端城市选择插件
- Android studio 加载百度地图
- 进程和线程概念
- Codeforces Gym 100269E Energy Tycoon 贪心
- 随便感慨一哈吧
- 通过文件保存和更新信息
- 用find_if查找vector内对象的成员 http://blog.csdn.net/zhongguoren666/article/details/7629610
- 使用 VisualVM 进行性能分析及调优(转)
- “我跟你赌,不是看你要什么,而是看我有什么!!!“”
- 使用Qt制作记事本软件程序
- Java [Leetcode 125]Valid Palindrome
- LeetCode96. Unique Binary Search Trees简单,简洁
- PAT1024科学计数法
- 内心的不安全感
- iOS 沙盒目录结构解析
- 测试
- 测试
- 1093. Count PAT's (25)
- 1092. To Buy or Not to Buy (20)