结构体排序

  做的这题是ccf认证的题目,碰撞的小球,用到了结构体排序,但忘记了,现在来记录一下。

  

struct stu {
	int a;
	bool b;
	int c;
};
bool cmp(stu a,stu b){
	return a.a<b.a;
}
bool cmp2(stu a,stu b){
	return a.c<b.c;
}

  bool cmp要放到后面,否则会报错,刚才我就报错了,想了3分钟才改了错误。毕竟比较函数用到了结构体,机构体都没有声明怎么能在函数里用它呢,对吧,这就是错因;

  然后调用的代码如下

  

//n是要比较的元素的个数,我这里有n个,就是给这个结构体全部排序
sort(st,st+n,cmp);
sort(st,st+n,cmp2);

  排序规则:小于return小于符号就是从小到大,大于就是从大到小。

hello world!
原文地址:https://www.cnblogs.com/simongreen/p/11045963.html