Java实现快速排序详细代码
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实现快速排序详细代码相关推荐
- Java时间类型转换详细代码示例
Java时间类型转换详细代码示例 一.时间类型转换代码示例 二.时间标准简介 1.UTC(世界标准时间) 2.GMT(格林尼治平时) 3.CST(北京时间) 三.SimpleDateFormat 参数 ...
- Java实现冒泡排序详细代码
冒泡排序定义 冒泡排序(Bubble Sort)也是一种简单直观的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交 ...
- 使用 Java 实现快速排序(详解)
一.概述 最近在看一些面试题,发现很多面试过程中都会要求手写快速排序,查阅一些博客发现别人写的并不是特别清楚而且也很难记住,所以为了更好的掌握这个算法,所以在这篇文章中,将自己的学习过程记录下来,你将 ...
- java中nio怎么实现聊天,JAVA-NIO实现聊天室详细代码说明
JAVA-NIO实现聊天室详细代码说明 JAVA-NIO实现聊天室详细代码说明 github源码:https://github.com/JolyouLu/JAVAIO.git src\main\jav ...
- 怎么在Java里辨别小数_求教java中如何判断一个数是不是小数,求详细代码及解释...
求教java中如何判断一个数是不是小数,求详细代码及解释 关注:62 答案:2 mip版 解决时间 2021-01-29 22:49 提问者孤酒醉人心 2021-01-29 03:13 求教jav ...
- java学习 类变量 类方法_这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下类变量(...
这篇文章主要介绍了JAVA类变量及类方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 类变量(static) 类变量是该类的所有对象共 ...
- java连接mysql数据库 R_Java连接Mysql数据库详细代码实例
这篇文章主要介绍了Java连接Mysql数据库详细代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 隔了一段时间没连过数据库,代码都忘记了,网 ...
- Java互联网支付系统源码,基于SpringBoot,含支付宝,微信,银联详细代码案例
spring-boot-pay 支付服务:支付宝,微信,银联详细 代码案例 (支付宝和微信支付测试均需要企业认证,如果没有企业推荐使用 [服务商模式] 申请开通个人商户 也可以测试 ),项目启动前请仔 ...
- java 朋友圈分享接口_Java实现微信公众平台朋友圈分享功能详细代码
其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈. 首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要 ...
最新文章
- Django项目之小博客
- 第8天:我用AI算法造了一些“网红”
- myeclipse + tomcat 项目自动部署
- 大数据没用?!张小龙:我们很少看统计数据!
- 京东国际宣布国际超模刘雯担任品牌代言人
- Word2016Word2019如何取消自动编号
- 关于空间分析的一点小思考
- c4d学习笔记-快捷键
- 电科 | 传感器及其应用技术
- 百度网盘里的html怎么用,百度网盘怎么用?
- JavaSE_05【数组】拓展练习
- 02-SpringBoot集成MinIo
- 大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)
- 【tool】动态注释LOG_NDEBUG宏定义
- 【ES】一、ES入门及JavaAPI使用
- Qt软键盘使用和修改软键盘参数 支持中文
- 百度网盘加速(已失效)
- 用SpeedFan来控制CPU风扇转速
- C++读取txt文件失败的可能性
- CDMA直接序列扩频系统仿真和分析——matlab实现
热门文章
- 累乘法c语言 was,c语言累加累乘ppt课件
- BPM流程管理系统,大中型企业的必需品
- 灯塔工厂PLC智慧边缘计算机嵌入式linux系统
- linux运维-基本网络学习
- ubuntu 新硬盘挂载
- 漫步者蓝牙自动断开_性价比超高!良心国货漫步者Lolli Pods使用感受
- OFBIz之旅[结构解析]
- js控制html下拉框select的选择,js实现select下拉框选择
- aloha算法c语言代码,论文对最简单的反碰撞算法ALOHA算法进行了研究,在识别时间...
- 信息安全策略之二:Extranet Policy