麻烦看看哪儿错了
查看原帖
麻烦看看哪儿错了
250983
wzmzmhk楼主2020/12/24 13:30
#include<bits/stdc++.h>
using namespace std;
int a[1000010];
void qsort(int l,int r)
{
  int i=l,j=r,flag=a[(l+r)/2],tmp;
  do
  {
    while(a[i]<flag)
    {
      i++;
    }
    while(a[i]>flag)
    {
      j--;
    }
    if(i<=j)
    {
      tmp=a[i];
      a[i]=a[j];
      a[j]=tmp;
      i++;
      j--;
    }
  }
  while(i<=j);
  if(l<j)
  {
    qsort(l,j);
  }
  if(i<r)
  {
    qsort(i,r);
  }
}
int main()
{
  int b,c,d,e,f;
  cin>>b;
  for(c=0; c<b; c++)
  {
    cin>>a[c];
  }
  qsort(0,b-1);
  for(c=0; c<b; c++)
  {
    cout<<a[c]<<" ";
  }
  return 0;
}

输入 3 1 3 2 输出 2 1 3

2020/12/24 13:30
加载中...