为啥会错前三个点,求助
查看原帖
为啥会错前三个点,求助
824349
_nonsense楼主2023/3/28 20:27
#include<iostream>
using namespace std;
int n, a[100005];
void sort(int l, int r){
	if(l>=r) return;
	int m=(l+r)/2, i=l, j=r;
	do{
		while(a[j]>a[m]) j--;
		while(a[i]<a[m]) i++;
		if(j>=i) 
		{
			swap(a[j], a[i]);
			j--;
			i++;
		}
	}while(j>=i);
	sort(l, j);
	sort(i, r);
}
int main(void){
	cin>>n;
	for(int i=0; i<n; i++) cin>>a[i];
	sort(0, n-1);
	for(int i=0; i<n; i++) cout<<a[i]<<" ";
	return 0;
}
2023/3/28 20:27
加载中...