Java代码实现

/****@author g0rez*@data 2021-05-19**/
public class 快速排序 {public static void main(String[] args) {int[] arr =new int[]{2,4,3,5,6,1,7,8,10,9};quickSort(arr,0,arr.length-1);for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}}public static void quickSort(int[] arr,int begin,int end) {//如果区间不只一个数if(begin < end){int temp = arr[begin]; //将区间的第一个数作为基准数int i = begin; //从左到右进行查找时的“指针”,指示当前左位置int j = end; //从右到左进行查找时的“指针”,指示当前右位置//不重复遍历while(i < j){//当右边的数大于基准数时,略过,继续向左查找//不满足条件时跳出循环,此时的j对应的元素是小于基准元素的while(i<j && arr[j] > temp)j--;//将右边小于等于基准元素的数填入右边相应位置arr[i] = arr[j];//当左边的数小于等于基准数时,略过,继续向右查找//(重复的基准元素集合到左区间)//不满足条件时跳出循环,此时的i对应的元素是大于等于基准元素的while(i<j && arr[i] <= temp)i++;//将左边大于基准元素的数填入左边相应位置arr[j] = arr[i];}//将基准元素填入相应位置arr[i] = temp;//此时的i即为基准元素的位置//对基准元素的左边子区间进行相似的快速排序quickSort(arr,begin,i-1);//对基准元素的右边子区间进行相似的快速排序quickSort(arr,i+1,end);}//如果区间只有一个数,则返回elsereturn;}
}

具体解释可参照:快速排序算法_elma_tww的博客-CSDN博客_快速排序算法

Java实现快速排序详细代码相关推荐

  1. Java时间类型转换详细代码示例

    Java时间类型转换详细代码示例 一.时间类型转换代码示例 二.时间标准简介 1.UTC(世界标准时间) 2.GMT(格林尼治平时) 3.CST(北京时间) 三.SimpleDateFormat 参数 ...

  2. Java实现冒泡排序详细代码

    冒泡排序定义 冒泡排序(Bubble Sort)也是一种简单直观的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交 ...

  3. 使用 Java 实现快速排序(详解)

    一.概述 最近在看一些面试题,发现很多面试过程中都会要求手写快速排序,查阅一些博客发现别人写的并不是特别清楚而且也很难记住,所以为了更好的掌握这个算法,所以在这篇文章中,将自己的学习过程记录下来,你将 ...

  4. java中nio怎么实现聊天,JAVA-NIO实现聊天室详细代码说明

    JAVA-NIO实现聊天室详细代码说明 JAVA-NIO实现聊天室详细代码说明 github源码:https://github.com/JolyouLu/JAVAIO.git src\main\jav ...

  5. 怎么在Java里辨别小数_求教java中如何判断一个数是不是小数,求详细代码及解释...

    求教java中如何判断一个数是不是小数,求详细代码及解释 关注:62  答案:2  mip版 解决时间 2021-01-29 22:49 提问者孤酒醉人心 2021-01-29 03:13 求教jav ...

  6. java学习 类变量 类方法_这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下类变量(...

    这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 类变量(static) 类变量是该类的所有对象共 ...

  7. java连接mysql数据库 R_Java连接Mysql数据库详细代码实例

    这篇文章主要介绍了Java连接Mysql数据库详细代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 隔了一段时间没连过数据库,代码都忘记了,网 ...

  8. Java互联网支付系统源码,基于SpringBoot,含支付宝,微信,银联详细代码案例

    spring-boot-pay 支付服务:支付宝,微信,银联详细 代码案例 (支付宝和微信支付测试均需要企业认证,如果没有企业推荐使用 [服务商模式] 申请开通个人商户 也可以测试 ),项目启动前请仔 ...

  9. java 朋友圈分享接口_Java实现微信公众平台朋友圈分享功能详细代码

    其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈. 首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要 ...

最新文章

  1. Django项目之小博客
  2. 第8天:我用AI算法造了一些“网红”
  3. myeclipse + tomcat 项目自动部署
  4. 大数据没用?!张小龙:我们很少看统计数据!
  5. 京东国际宣布国际超模刘雯担任品牌代言人
  6. Word2016Word2019如何取消自动编号
  7. 关于空间分析的一点小思考
  8. c4d学习笔记-快捷键
  9. 电科 | 传感器及其应用技术
  10. 百度网盘里的html怎么用,百度网盘怎么用?
  11. JavaSE_05【数组】拓展练习
  12. 02-SpringBoot集成MinIo
  13. 大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)
  14. 【tool】动态注释LOG_NDEBUG宏定义
  15. 【ES】一、ES入门及JavaAPI使用
  16. Qt软键盘使用和修改软键盘参数 支持中文
  17. 百度网盘加速(已失效)
  18. 用SpeedFan来控制CPU风扇转速
  19. C++读取txt文件失败的可能性
  20. CDMA直接序列扩频系统仿真和分析——matlab实现

热门文章

  1. 累乘法c语言 was,c语言累加累乘ppt课件
  2. BPM流程管理系统,大中型企业的必需品
  3. 灯塔工厂PLC智慧边缘计算机嵌入式linux系统
  4. linux运维-基本网络学习
  5. ubuntu 新硬盘挂载
  6. 漫步者蓝牙自动断开_性价比超高!良心国货漫步者Lolli Pods使用感受
  7. OFBIz之旅[结构解析]
  8. js控制html下拉框select的选择,js实现select下拉框选择
  9. aloha算法c语言代码,论文对最简单的反碰撞算法ALOHA算法进行了研究,在识别时间...
  10. 信息安全策略之二:Extranet Policy