Java快速排序QuickSort(实例)
作者:HankingHu 时间:2021-12-22 21:47:42
快速排序
----------------------------------------------------------------------
思想
如上图:每趟快速排序开始时,设置一个key,key=array[low],然后由high向左,找到小于key的值,复制到low位置,然后再由low向右找到大于key的值,复制到high位置,直到low=high结束,
将key的复制到low位置。
上图中第一轮划分后找到32的位置,然后递归的对32左边和右边的进行排序。
代码:
package Sort;
import java.util.Arrays;
public class QuickSort {
public static void main(String[] args) {
int array[]={32, 12, 7, 78, 23, 45};
quickSort(array,0,array.length-1);
System.out.println(Arrays.toString(array));
}
public static void quickSort(int array[],int left,int right)
{
if(left>=right)
{
return ;
}
int i=left;
int j=right;
int key=array[left];
while(i<j)
{
while(i<j&&array[j]>key)
{
j--;
}
array[i]=array[j];
//从后往前找到第一个比key小的数与array[i]交换;
while(i<j&&array[i]<key)
{
i++;
}
array[j]=array[i];
//从前往后找到第一个比key大的数与array[j]交换;
}
array[i]=key;
//一趟快排之后已经将key的位置找到。
quickSort(array,left,i-1);
//对key左边的进行排序
quickSort(array,i+1,right);
//对key右边的进行排序
}
}
来源:http://blog.csdn.net/u013309870/article/details/68921848
标签:快速排序,QuickSort,Java
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Spring Cache简单介绍和使用大全
2023-11-25 04:46:46
![](https://img.aspxhome.com/file/2023/3/60063_0s.png)
Java Collections.shuffle()方法案例详解
2023-11-24 15:53:16
Android切换至SurfaceView时闪屏(黑屏闪一下)以及黑屏移动问题的解决方法
2023-07-21 10:51:45
Java如何解析html中的内容并存到数据库详解
2023-11-29 05:08:32
使用C++ Matlab中的lp2lp函数教程详解
2023-07-13 17:13:12
![](https://img.aspxhome.com/file/2023/0/103080_0s.png)
Spring Cache抽象-使用SpEL表达式解析
2023-08-23 11:46:44
Java中关于二叉树层序遍历深入了解
2023-07-26 07:06:09
![](https://img.aspxhome.com/file/2023/6/61076_0s.png)
Java反射概念与使用实例代码
2022-02-24 23:55:40
基于Mybatis-Plus的CRUD的实现
2023-09-10 14:38:45
Java利用MultipartFile实现上传多份文件的代码
2023-11-25 11:29:13
C++实现俄罗斯方块源码
2023-06-27 23:49:14
![](https://img.aspxhome.com/file/2023/6/103096_0s.png)
IO中flush()函数的使用代码示例
2023-11-27 03:49:00
![](https://img.aspxhome.com/file/2023/4/60044_0s.gif)
Spring Security之默认的过滤器链及自定义Filter操作
2023-11-24 02:48:35
![](https://img.aspxhome.com/file/2023/3/59733_0s.png)
SpringMVC @RequestMapping注解详解
2022-08-08 06:58:14
![](https://img.aspxhome.com/file/2023/3/61293_0s.png)
Java 集合概览(小结)
2023-11-08 02:50:37
![](https://img.aspxhome.com/file/2023/0/59000_0s.jpg)
MyBatis一对多嵌套查询的完整实例
2023-07-12 02:49:56
Java解析调用webservice服务的返回XML串详解
2023-11-07 02:42:01
java设计模式--三种工厂模式详解
2023-11-29 09:54:06
![](https://img.aspxhome.com/file/2023/7/60337_0s.png)
java简易小游戏制作代码
2023-11-23 19:49:38
![](https://img.aspxhome.com/file/2023/8/59048_0s.jpg)
深入理解Spring事务原理
2022-01-18 04:16:39
![](https://img.aspxhome.com/file/2023/7/61777_0s.jpg)