文章

246

粉丝

0

获赞

1153

访问

47.4k

头像
快速排序 - 西工大 题解:
P1716 西北工业大学机试题
发布于2026年3月14日 20:51
阅读数 59

#include<iostream>
using namespace std;

const int N=1e5+10;

int n,a[N];

/*
yxcnb!!!
*/

void quick_sort(int l,int r)
{
    if(l>=r)
    return;
    int i=l-1,j=r+1,x=a[l+r>>1];
    while(i<j)
    {
        do i++; while(a[i]<x);
        do j--; while(a[j]>x);
        if(i<j)
        swap(a[i],a[j]);
    }
    quick_sort(l,j),quick_sort(j+1,r);
}

int main()
{
    cin>>n;
    for(int i=0;i<n;i++)
    cin>>a[i];
    quick_sort(0,n-1);
    for(int i=0;i<n;i++)
    cout<<a[i]<<" ";
    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发