第二发,快速排序
#include<iostream>
using namespace std;
int partition(int A[],int a,int b)//快速排序
{
int flag=A[a];
int i=a,j=b,temp=0;
while(i!=j){
while(A[j]>flag&&i<j)
j--;
while(A[i]<=flag&&i<j)
i++;
temp=A[i];
A[i]=A[j];
A[j]=temp;
}
A[a]=A[j];
A[j]=flag;
return i;
}
void quicksort(int A[], int a,int b)
{
if(a<b)
{
int p=partition(A,a,b);
quicksort(A,a,p-1);
quicksort(A,p+1,b);
}
}
void main()
{
int A[100];
int i=0;
while(cin>>A[i])//ctrl+z结束输入
{
i++;
}
quicksort(A,0,i);
for(int r=1;r<i+1;r++)
{
cout<<A[r]<<" ";
}
system("pause");
}