仅供参考,共同进步。

快速排序

void swap(int &a, int &b)
{
    int t = a;
    a = b;
    b = t;
}
int Quick(int a[], int l, int r)
{
    if(l >= r)
    return 0;
    
    int x = a[l];
    int i = l;
    int j = r;
    while(i < j){
        while(a[j] > x && j > i)
        j--;
        
        while(a[i] <=x && j > i)
        i++;
        
        if(j > i){
            swap(a[i], a[j]);
        }
    }
    if(l < i){
        swap(a[l], a[i]);
    }
    Quick(a, l, i-1);
    Quick(a, i+1, r);
}

 

posted @ 2019-03-22 09:01  南山i  阅读(241)  评论(0编辑  收藏  举报