使用快排中的思想,两边往中间走
void sort1(int a[],int num)
{
int i=0,j=num-1,t;
while(i<=j)
{
while(a[i]%2)
i++;
while(a[j]%2==0)
j--;
if(a[i]%2==0&&a[j]%2==1&&j>=i)
{
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
}
}
void main()
{
int a[]={1,2,3,4,5,6,7,8,9,10};
sort1(a,10);
for(int i=0;i<10;i++)
printf("%4d",a[i]);
}