#include <iostream>
#include "algorithm"
using namespace std;
struct paixu
{
int p;
int h;
bool operator <( paixu node ) const
{
return p < node.p ;
}
}s[100];
bool cmp1( paixu a , paixu b )
{
return a.p > b.p ;
}
int cmp( const void *a ,const void *b) { return (*(struct paixu *)a).p > (*(struct paixu *)b).p? 1 : -1; } int main(){int c,n,m,i,j;cin>>c;for (i=0;i<c;i++){cin>>m>>n;for(j=0;j<n;j++){scanf("%d%d",&(s->p),&(s->h));}sort(s,s+n) ;//
// qsort(s,n,sizeof(s[0]),cmp);}return 0 ;} 简而言之,就是sort有2种的方式去写,自己也看了别人写的关于sort与qsort的用法,qsot好像在处理某些特殊情况,比如数组中数字重复量比较大的时候能处理快点,一般还是sort为主,sort也是快排,而且简单,下面直接贴代码了
bool cmp1( paixu a , paixu b )
{
return a.p > b.p ;
}sort( s,s+n,cmp1) ;
上面是一种形式,
struct paixu
{
int p;
int h;
bool operator <( paixu node ) const
{
return p < node.p ;
}
}s[100];sort(s,s+n) ;
又是另外一种形式