//sort快速排序法
#include<iostream>
#include<algorithm>
using namespace std;
void Quick(int k[],int s,int t)
{
int i,j;
if(s<t)
{
i=s;//0表示第一个位置
j=t+1;//j表示第n+1个位置
while(1)
{
do i++;
while(!(k[s]<=k[i]||i==t));
do j--;
while(!(k[s]>=k[j]||j==s));
if(i<j)
swap(k[i],k[j]);
else
break;
}
swap(k[s],k[j]);
Quick(k,s,j-1);
Quick(k,j+1,t);
}
}
void QuickSort(int k[],int n)
{
Quick(k,0,n);
}
int main()
{
int k[10],k1[10],i;
for(i=0;i<10;i++)
{
scanf("%d",&k[i]);
k1[i]=k[i];
}
cout<<"编写algorithm算法排序:"<<endl;
QuickSort(k,9);
for(i=0;i<10;i++)
printf("%d ",k[i]);
printf("\n");
cout<<"直接调用algorithm函数库排序:"<<endl;
sort(k1,k1+10);
for(i=0;i<10;i++)
printf("%d ",k[i]);
printf("\n");
return 0;
}