40分求助,前三个WA,求解
查看原帖
40分求助,前三个WA,求解
725788
zyabc楼主2022/6/22 22:44
#include<bits/stdc++.h>
#include <iostream>
using namespace std;
int a[100005];
void qs(int ai[],int l,int r)
{
	int i=l,j=r;
	int mid=ai[(l+r)/2];
	while(i<=j)
	{
		while(ai[i]<mid) i++;
		while(ai[j]>mid) j--;
		if(i<=j) {swap(ai[i],ai[j]);i++;j--;} 
	}
	if(l<j) qs(ai,l,j);
	if(i<l) qs(ai,i,r);
	//if(j<i) qs(a,j,i);
	return;
}
int main()
{
	int N,i;
	cin>>N;
	for(i=0;i<N;i++)
	cin>>a[i];
	qs(a,0,N-1);
	for(i=0;i<N-1;i++)
	cout<<a[i]<<" ";
	cout<<a[N-1]<<endl;
	return 0;
}
2022/6/22 22:44
加载中...