概述
/**
* 快速排序算法是基于分治策略的一种排序算法,下面是一个递归的快速排序。
* @author liuy
*/
public class QuickSort {
public static void quickSort(int[] array) {
quickSort(array, 0, array.length - 1);
}
public static void quickSort(int[] array, int low, int high) {
if(low < high) {
int pivotLoc = partition(array, low, high); //将array一分为二,pivotLoc是枢轴位置
quickSort(array, low, pivotLoc - 1); //对低子表递归排序
quickSort(array, pivotLoc + 1, high); //对高子表递归排序
}
}
//交换数组array[]中子组中的记录位置
private static int partition(int[] array, int low, int high) {
int pivotKey = array[low]; //用子表的低位做枢轴
while(low < high) {
while(low < high && array[high] >= pivotKey) high--;
array[low] = array[high]; //将比枢轴小的记录移到低端
while(low < high && array[low] <= pivotKey) low++;
array[high] = array[low]; //将比枢轴大的记录移到高端
}
array[low] = pivotKey; //枢轴值放在中间
return low; //返回枢轴位置
}
public static void main(String[] args) {
int[] array = {2, 1, 4, 3, 9, 6, 7, 5, 4, 8, 0};
quickSort(array);
for(int i : array) { //输出排序好的数组
System.out.print(i);
}
}
}
最后
以上就是丰富寒风为你收集整理的java sort算法名称_快速排序算法(Quick Sort)(java)的全部内容,希望文章能够帮你解决java sort算法名称_快速排序算法(Quick Sort)(java)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复