自学内容网 自学内容网

快速排序学习优化

首先,上图。
在这里插入图片描述
在这里插入图片描述
‘’’


```cpp
int partSort(int *a ,int left,int right)
{
    int keyi = left; //做左侧基准
    while(left<right)
    {
        while(left<right && a[right]>=a[keyi])
        {
            right--;
        }
        while(left<right && a[left]<=a[keyi])
        {
            ++left;
        }
        swap(a[left],a[right]);
    }
    //找到基准的位置
    swap(&a[left],&a[right]);
    //返回基准的位置方便以后用
    return left;
}
//递归

void QuickSort(int* a,int left,int right)
{
    if(left<right)
    {
        int pivot = partSort(a,left,right);
        QuickSort(a,left,pivot-1);
        QuickSort(a,pivot+1,right);
        
    }
}


原文地址:https://blog.csdn.net/wedream23/article/details/144736689

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!