java中怎么实现快速排序
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍java中怎么实现快速排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、原理选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的
千家信息网最后更新 2026年11月01日java中怎么实现快速排序
这篇文章给大家介绍java中怎么实现快速排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
一、原理
选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。
二、描述
一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有继续比较下一个,直到找到第一个比基准值小的值才交换。找到这个值之后,又从前往后开始比较,如果有比基准值大的,交换位置,如果没有继续比较下一个,直到找到第一个比基准值大的值才交换。直到从前往后的比较索引>从后往前比较的索引,结束第一次循环,此时,对于基准值来说,左右两边就是有序的了。重复上述循环。
三、实例
public class maxtest { public static void main(String[] args) { //###################快速排序法start###################//int[] state = {2,13,7,6,15,9,10,12,3,16,8,11,14,5,1}; int start = 0; int end = state.length-1; System.out.print("初始值:"); for (int i = 0; i < state.length; i++) { System.out.print(state[i]+","); } System.out.println(""); sort(state,start,end); //###################快速排序法end###################// } public static int partition(int []array,int lo,int hi){//固定的切分方式int key=array[lo];while(lo=key&&hi>lo){//从后半部分向前扫描hi--; } array[lo]=array[hi];while(array[lo]<=key&&hi>lo){ lo++; } array[hi]=array[lo]; } System.out.println(""); for (int i = 0; i < array.length; i++) { System.out.print(array[i]+","); } array[hi]=key;return hi; } public static void sort(int[] array,int lo ,int hi){if(lo>=hi){return ; }int index=partition(array,lo,hi); sort(array,lo,index-1); sort(array,index+1,hi); }}结果如下:
初始值:2,13,7,6,15,9,10,12,3,16,8,11,14,5,1,1,13,7,6,15,9,10,12,3,16,8,11,14,5,13,1,2,5,6,3,9,10,12,9,16,8,11,14,15,13,1,2,3,6,6,7,10,12,9,16,8,11,14,15,13,1,2,3,5,6,7,8,9,9,16,12,11,14,15,13,1,2,3,5,6,7,8,9,10,16,12,11,14,15,13,1,2,3,5,6,7,8,9,10,13,12,11,14,15,13,1,2,3,5,6,7,8,9,10,11,12,11,14,15,16,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,
图列如下:
关于java中怎么实现快速排序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
基准
基准值
排序
循环
位置
内容
序列
更多
索引
帮助
选择
不错
有序
元素
关键
兴趣
半部
原理
右边
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东特亿宝互联网科技有限公司
互联网扶贫科技
九亚互联网科技
北京禾田雨橡互联网科技
广州凡科互联网科技
互联网科技公司介绍
互联网金融科技委员会
中国最先进互联网科技公司
深圳市运趣互联网科技有限公司
银川新华互联网科技职业技术培训学校图片
昊天互联网科技有限公司
互联网科技与大数据专业
互联网科技研发水平
工业互联网等科技实现智能化赋能
智帮互联网科技公司最近动向
互联网营销推广黑科技
互联网科技数字货币
卡尔迅互联网科技有限公司
宁波跨境商互联网科技有限公司
江苏互联网智能科技产品出厂价
互联网科技作文
互联网科技生活的内容
福州新华互联网科技学校 知乎
宁夏科技产业互联网案例
昭通互联网科技选哪家
工业互联网山东科技大学
广东工业互联网大赛深圳学泰科技
深圳无忧互联网科技
21世纪互联网科技成就
互联网金融运营模式中的金融科技