#include <iostream> #include "algorithm" using namespace std; struct paixu { int p; int h; bool operator <( paixu node ) const { return p < node.p ; } }s[100];
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) ;//bool cmp1( paixu a , paixu b ) { return a.p > b.p ; }
// 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) ;
又是另外一种形式
sort用法
最新推荐文章于 2023-04-20 16:56:17 发布