快速排序

Posted Qunar_尤雪萍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序相关的知识,希望对你有一定的参考价值。

快速排序

/**
 * 快速排序
 * Created by xueping.you on 15-8-5.
 */
public class QuickSort 
    private final static Logger logger = LoggerFactory.getLogger(QuickSort.class);

    public static void quickSort(int []unSortArray , int left , int right)
        int low = left;
        int high = right;
        if(low>=high)
            return;
        int temp = unSortArray[left];
        while(left<right)
            while (left<right && unSortArray[right]>=temp)right--;
            unSortArray[left]=unSortArray[right];
            while (left<right && unSortArray[left]<=temp)left++;
            unSortArray[right]=unSortArray[left];
        
        unSortArray[left]=temp;
        quickSort(unSortArray, low, left);
        quickSort(unSortArray, left+1, high);
    

    public static void main(String []args)
        int [] array = new int[]12,10,2,45,31,56,1,9;
        logger.info("before:", array);
        quickSort(array,0 , array.length-1);
        logger.info("after:",array);

    

result:
19:30:11.835 [main] INFO com.qyou.data.arithmetic.QuickSort - before:[12, 10, 2, 45, 31, 56, 1, 9]
19:30:11.845 [main] INFO com.qyou.data.arithmetic.QuickSort - after:[1, 2, 9, 10, 12, 31, 45, 56]

以上是关于快速排序的主要内容,如果未能解决你的问题,请参考以下文章

深度解析(十六)快速排序

快速排序

基于快速排序方法改成求第k大的数

简单介绍一下快速排序的思想?

用C语言编程实现快速排序算法

Python实现排序算法之快速排序