#include<stdio.h>
#include<stdlib.h>
int Input( int * parray,int len)
{
int i=0;
for(i=0;i<len;i++)
{
scanf("%d" , &parray[i]);
}
return 0;
}
int Output(int * parray , int len )
{
int i=0;
for(i=0;i<len;i++)
{
printf(" %d " , parray[i]);
}
printf("\n");
}
int Sortsaaay(int *parray , int len ,int (*phowcompare) (int, int ))
{
int i=0,j=0;
int tmp=0;
for(j=0;j<len-1;j++)
{
for(i=0;i<len-1-j;i++)
{
if(phowcompare(parray[i],parray[i+1]))
{
tmp=parray[i];
parray[i]=parray[i+1];
parray[i+1]=tmp;
}
}
}
}
int AscCompare(int x,int y)
{
if (x>y)
{
return 1;
}
return 0;
}
int DescCompare(int x, int y)
{
if(x<y)
{
return 1;
}
return 0;
}
int AbsAscCompare(int x,int y)
{
if (abs(x)>abs(y))
{
return 1;
}
return 0;
}
int AbsDescCompare(int x, int y)
{
if (abs(x)<abs(y))
{
return 1;
}
return 0;
}
int main()
{
int a[5]={0};
Input (a,5);
Sortsaaay(a,5,AscCompare);
Output(a,5);
Sortsaaay(a,5,DescCompare);
Output(a,5);
Sortsaaay(a,5,AbsAscCompare);
Output(a,5);
Sortsaaay(a,5,AbsDescCompare);
Output(a,5);
return 0;
}
利用指针实现正序比较,倒序比较,绝对值正序以及倒序比较
最新推荐文章于 2024-07-15 22:10:26 发布