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

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

算法思想:

通过设置一个岗哨,每次跟这个岗哨进行比较,比他小的放在左边,比他大的放在右边。再对岗哨左边的数组0----middle-1,和middle+1-----end,进行同样的排序。

算法复杂度:

快速排序时间复杂度为O(nlogn),由于是在原数组上面利用替换来实现,因此不需要额外的存储空间。

核心代码:

1 public static void quickSort(int []a,int low,int high){ 2             int middle; 3             if(low
=middle)14 high--;15 tmp = arr[high];16 arr[high]= arr[low];17 arr[low]=tmp;18 while(low

完整代码

1 package quickSort; 2 //通过设置一个岗哨,每次跟这个岗哨进行比较,比他小的放在左边,比他大的放在右边。 3 //再对岗哨左边的数组0----middle-1,和middle+1-----end,进行同样的排序。 4 public class Sort { 5     static int arrtest1[] = {4,3,7,8,0,9,1,2,6,5}; 6     int arrtest2[] = {0,1,2,3,4,5,6,7,8,9}; 7     int arrtest3[] = {9,8,7,6,5,4,3,2,1,0}; 8     public static void main(String args[]){ 9         display(arrtest1);10         quickSort(arrtest1,0,arrtest1.length-1);11         display(arrtest1);12     }13         public static void quickSort(int []a,int low,int high){14             int middle;15             if(low
=middle)26 high--;27 tmp = arr[high];28 arr[high]= arr[low];29 arr[low]=tmp;30 while(low

运行结果

 

转载于:https://www.cnblogs.com/doudingbest/p/4477576.html

你可能感兴趣的文章
(转)Maven仓库——私服介绍
查看>>
Oracle Siebel CRM技术的前景
查看>>
设计模式之工厂模式
查看>>
仿复制粘贴功能,长按弹出tips的实现
查看>>
Docker第三方项目小结
查看>>
Kubernetes-Host网络模式应用
查看>>
第三次作业
查看>>
使用HTML5构建iOS原生APP(2)
查看>>
购物车的简单添加与计算
查看>>
sqlplus terminators - Semicolumn (;), slash (/) and a blank line
查看>>
省选知识清单/计划列表(咕?)
查看>>
远程桌面(3389)复制(拖动)文件
查看>>
转 lucene3搜索引擎,索引建立搜索排序分页高亮显示, IKAnalyzer分词
查看>>
ASP.net在线购物商城系统完全解析
查看>>
bootstrap datetimepicker 位置错误
查看>>
9结构型模式之代理模式
查看>>
第二节 整型数据
查看>>
Python 序列
查看>>
Liferay的架构:缓存(第一部分)
查看>>
初识B/S结构编程技术
查看>>