0
点赞
收藏
分享

微信扫一扫

排序 (2)快速排序-双路排序

双井暮色 2022-03-19 阅读 34
算法

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;
}
举报

相关推荐

0 条评论