示例:
#include<iostream>
using namespace std;
int cmp1 ( const void *a , const void *b)
{
return *(int *)a - *(int *)b;
}
int cmp2( const void *a , const void *b)
{
return *(char *)a - *(char *)b;
}
int cmp3( const void *a , const void *b)
{
return *(double *)a > *(double *)b ? 1 : -1;
}
int cmp4(const void *a,const void *b)
{
return strcmp((char *)a,(char *)b);
}
struct In
{
int x;
int y;
}s[100];
int cmp5( const void *a , const void *b)
{
struct In *c = (In *)a;
struct In *d = (In *)b;
return c->x-d->x;
}
//按照x从小到大排序,当x相等时按照y从大到小排序
int cmp6( const void *a , const void *b)
{
struct In *c = (In *)a;
struct In *d = (In *)b;
if(c->x != d->x) return c->x - d->x;
else return d->y - c->y;
}
int main()
{
int a[10]={1,6,3,4,8};
qsort(a,5,sizeof(int),cmp1);
char b[10]={'a','c','f','b','e'};
qsort(b,5,sizeof(char),cmp2);
double c[10]={1.1,6.5,3.2,4.8,2.0};
qsort(c,5,sizeof(double),cmp3);
char d[5][10]={"aaa","eee","bbb","fff","ccc"};
qsort(d,5,sizeof(d[0]),cmp4);
return 0;
}