#include<iostream>
using namespace std;
#define Type int
void swap(Type &a,Type &b){
Type temp =a;
a = b;
b = temp;
}
int Partition (Type a[], int p, int r)
{
int i = p, j =r + 1;
Type x=a[p];
// 将< x的元素交换到左边区域
// 将> x的元素交换到右边区域
while (true) {
while (a[++i] < x);
while (a[--j] > x);
if (i >= j)
break;
swap(a[i], a[j]);
}
a[p] = a[j]; //a[j] 与 a[p] 交换
a[j] = x;
return j;
}
void QuickSort (Type a[], int p, int r)
{
if (p < r ) {
int q=Partition(a,p,r);
QuickSort (a,p,q-1); //对左半段排序
QuickSort (a,q+1,r); //对右半段排序
}
}
int main()
{
Type a[10];
cout<<"请输入十个数:"<<endl;
for(int i=0;i<10;i++)
cin>>a[i];
QuickSort(a,0,9);
for(i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}