首页 > 编程语言 > 详细

快速排序

时间:2019-06-04 12:54:40      阅读:138      评论:0      收藏:0      [点我收藏+]
int partition(vector<int>&arr, int begin, int end)
{
    int pivot = arr[begin];
    while(begin < end)
    {
        while(begin < end && arr[--end] >= pivot);
        arr[begin] = arr[end];
        while(begin < end && arr[++begin] <= pivot);
        arr[end] = arr[begin];
    }
    arr[begin] = pivot;
    return begin;
}


void quick_sort(vector<int> &arr, int begin, int end){
    if(begin >= end - 1){
        return;
    }
    int pos = partition(arr, begin, end);
    quick_sort(arr, begin, pos);
    quick_sort(arr, pos+1, end);
}

 

快速排序

原文:https://www.cnblogs.com/sclczk/p/10972711.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!