#include<bits/stdc++.h>
using namespace std;
int A[100];
int par(int A[],int p,int q) //划分函数
{
int t=A[p];
int i=p;
for(int j=i+1;j<=q;j++)
{
if(A[j]<=t)
{
int tt;
tt=A[j];
A[j]=A[i+1];
A[i+1]=tt;
i++;
}
}
int tt;
tt=A[p];
A[p]=A[i];
A[i]=tt;
return i;
}
void quick(int A[],int p,int q) //排序主函数
{
if(p<q)
{
int r=par(A,p,q);
quick(A,p,r-1);
quick(A,r+1,q);
}
}
int main()
for(int i=1;i<=10;i++)cout<<A[i];
cout<<endl;
quick(A,1,10);
for(int i=1;i<=10;i++)cout<<A[i];
}
using namespace std;
int A[100];
int par(int A[],int p,int q) //划分函数
{
int t=A[p];
int i=p;
for(int j=i+1;j<=q;j++)
{
if(A[j]<=t)
{
int tt;
tt=A[j];
A[j]=A[i+1];
A[i+1]=tt;
i++;
}
}
int tt;
tt=A[p];
A[p]=A[i];
A[i]=tt;
return i;
}
void quick(int A[],int p,int q) //排序主函数
{
if(p<q)
{
int r=par(A,p,q);
quick(A,p,r-1);
quick(A,r+1,q);
}
}
int main()
{
// 以下是对算法的验证
for(int i=1;i<=10;i++)A[i]=10-i;for(int i=1;i<=10;i++)cout<<A[i];
cout<<endl;
quick(A,1,10);
for(int i=1;i<=10;i++)cout<<A[i];
}