快排求助
  • 板块学术版
  • 楼主Nomoca_xie
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/3/19 12:47
  • 上次更新2024/3/19 17:15:35
查看原帖
快排求助
751687
Nomoca_xie楼主2024/3/19 12:47
#include<bits/stdc++.h> 
using namespace std;
const int N=1e5+10;
int q[N];
int n;
void quick_sort(int q[],int l,int r)
{
    if(l<=r) 
		return;
    int x=q[(l+r)>>1],i=l,j=r;
    while(i<j){
        do i++; while(q[i]<x);
        do j--; while(q[j]>x);
        if(i<j) swap(q[i],q[j]);
    }
    quick_sort(q+n,l,(l+r)>>1);
    quick_sort(q+n,((l+r)>>1)+1,r);
}
int main()
{
    scanf("%d",&n);
    for(int i=0;i<n;i++) 
		scanf("%d",&q[i]);
    quick_sort(q+n,0,n-1);
    for(int i=0;i<n;i++) 
		printf("%d ",q[i]);
    return 0;
}

评测结果

2024/3/19 12:47
加载中...