import java.util.Arrays;//手写快速排序
public class QuickSort {public static void main(String[] args) {int[] arr = {2, 4, 8, 3, 5, 9, 1};System.out.println(Arrays.toString(arr));quickSort(arr, 0, arr.length - 1);System.out.println(Arrays.toString(arr));}/*** @param arr 传入的数组* @param left 数组的最左下标* @param right 数组的最右下标*/public static void quickSort(int[] arr, int left, int right) {/**选择中间位置为基准*/int l = left;int r = right;int standard = arr[(l + r) / 2];//遍历整个数组while (l < r) {/**从左往右遍历,直到找到比中间值大的*/while (arr[l] < standard) {l += 1;}/**从右往左遍历,直到找到比中间值小的*/while (arr[r] > standard) {r -= 1;}/**判断是否越过中间值* 越界说明中间值左边的都是*/if (l >= r) {break;}/**交换数据*/int temp = arr[l];arr[l] = arr[r];arr[r] = temp;}/**说明下标为l/r的数值已经是整个数组的中间值了,无需再动位置*/if (l == r) {l += 1;r -= 1;}/**向左递归*/if (left < r) {quickSort(arr, left, r);}/**向右递归*/if (right > l) {quickSort(arr, l, right);}}
}
详细解决方案
快排算法用java实现
热度:12 发布时间:2023-09-14 15:35:53.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- java web 视频相干
- java 系统单点登录解决方案
- java 获取客户端IP解决办法
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- java 正则化匹配有关问题
- JAVA WEB导航条,该怎么处理
- java 中Node 有关问题
- 吐了,java Timer 终止不了。
- java web开发解决办法
- 关于 java cast 有关问题,你明白不
- java ftp 下传和上载乱码有关问题
- java web项目上的一些文件
- Hibernate操作数据库 报错java.lang.Integer cannot be cast to java.lang.String如何改
- java struts 文件上载
- java web baidu map开发
- JAVA WEB导航条解决办法
- java 编写ftp上载
- java web中的一个有关问题,困扰小弟我很久了
- java web 与tomcat解决办法
- java web基于j2ee的一些有关问题
- java 内网外网的一个需求,该怎么处理
- jsp 页面 安插ArrayList 报错。为什么,已经加了import="java.util."了呀!
- java dwg 怎样用java把dwg便是aoutcad的格式文件转换成gif,jpg等格式
- 求《Java Web 程序设计与项目实践》解决办法
- java webservice解决方法
- java 与jsp,该怎么解决