排序 快速排序-双路排序

Posted thefist11

tags:

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

1. 双路排序

partition有两种思路,一种是从某侧循环,还有一种是双路排序(从两端往中间逼近)

 //从两侧向中间逼近
int Paritition(int A[], int low, int high) 
    int pivot = A[low];
    while (low < high) 
        while (low < high && A[high] >= pivot) 
            --high;
        
        A[low] = A[high];
        while (low < high && A[low] <= pivot) 
            ++low;
        
        A[high] = A[low];
    
    A[low] = pivot;
    return low;

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

双路快速排序法

java双路快速排序的实现

java算法面试题:设计一个快速排序。双路快速排序,简单易于理解。

快速排序法之双路快排

算法——快速排序(单路双路三路)

快速排序及其改进