求助如何进行优化&&原理
查看原帖
求助如何进行优化&&原理
8451
hyxzc楼主2022/10/3 20:49
#include<cstdio>
#include<iostream> 
#define maxn 1000000+10
using namespace std;

int a[maxn],n;

void sort(int l,int r)
    {
    	if (l>r) return;
    	int tmp=a[l],ls=l+1,rs=r;
    	while (ls<=rs)
    	  {
		     while (a[rs]>tmp) rs--;
    	  	 while (a[ls]<tmp) ls++;
    	  	 if (ls<rs) swap(a[ls++],a[rs--]);
    	  	     else ls++;    
		  }
		  swap(a[l],a[rs]);
		  sort(l,rs-1);sort(rs+1,r);
	}

int main()
    {
       scanf("%d",&n);
	   for (int i=0;i<n;i++)   
	      scanf("%d",&a[i]);
       sort(0,n-1); 	
       for (int i=0;i<n;i++)
          cout<<a[i]<<" ";
	   return 0;
    }
 
2022/10/3 20:49
加载中...