快速排序
代码
#include<stdio.h>
int main()
{
int a[5],i;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
qui(a,0,4);
for(i=0;i<5;i++)
printf("%d ",a[i]);
return 0;
}
void qui(int a[],int first,int last)
{
int i,j,base,t;
if(first>last)
return;
base=a[first];
i=first;
j=last;
while(i!=j)
{
while(a[j]>=base&&i<j)
j--;
while(a[i]<=base&&i<j)
i++;
if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}}
a[first]=a[i];
a[i]=base;
qui(a,first,i-1);
qui(a,i+1,last);
}