首页 > 其他 > 详细

手写快排

时间:2021-03-28 13:05:31      阅读:32      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include<bits/stdc++.h>
using namespace std;



void quicksort(vector<int>&v,int l,int r)
{    if(l>=r)
     return ;
     int val=v[l];
     int ll=l,rr=r;
     while(ll<rr)
     {

        while(rr>ll&&v[rr]>=val) rr--;
            if(rr>ll)
            v[ll++]=v[rr];
        while(ll<rr&&v[ll]<val) ll++;
           if(rr>ll)
           v[rr--]=v[ll];
     }
     v[ll]=val;
     //cout<<l<<‘ ‘<<r<<endl;
     quicksort(v,l,ll-1);
     quicksort(v,ll+1,r);
}
int main()
{

    int n;
    cin>>n;
    vector<int> v;
    for(int i=1;i<=n;i++)
    {

        int x;
        cin>>x;
        v.push_back(x);
    }
    quicksort(v,0,n-1);
    for(int x:v)
    {

        cout<<x<< ;
    }
    cout<<endl;
    return 0;
}

 

手写快排

原文:https://www.cnblogs.com/acmLLF/p/14587827.html

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