排序实例
#include<stdio.h>
void mysort(int a[],int n,int (*p)(int,int))
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(!(*p)(a[j],a[j+1]))
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
return ;
}
int cmp1(int a,int b)
{
return a<b;
}
int cmp2(int a,int b)
{
return a>b;
}
int cmp3(int a,int b)
{
return a%10<b%10;
}
int main()
{
int n;
scanf("%d",&n);
int a[n];
int i;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
mysort(a,n,cmp1);
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
mysort(a,n,cmp2);
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
mysort(a,n,cmp3);
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}