c++ sort 函数能对类或者结构体进行排序吗

比如一个classStudent{public:intgrade;intnumber;stringname;}//这个类换成数组也行Studenta[10];然后录入十个... 比如一个
class Student
{
public:
int grade;
int number;
string name;
}
//这个类换成数组也行

Student a[10];
然后录入十个学生的数据
sort函数能够根据number来排序整个类数组吗
展开
 我来答
287658222
推荐于2016-11-01 · TA获得超过2.3万个赞
知道大有可为答主
回答量:5304
采纳率:77%
帮助的人:1044万
展开全部
  c++ sort 函数可以对类或者结构体进行排序:
  里面有个参数,可以用:
  1、sort(a,'ascend')%升序
  2、sort(a,'descend')%降序;
  3、a为向量或数组. 也可以这样:先对a求相反数,成-a,然后升序,然后再求相反数.(这只是很简单的数学技巧!在编程时相当有用!)
  4、如果你是C语言,我记得没有函数.你可以自己写.用一些排序算法实现.
22493266
推荐于2017-12-16 · TA获得超过109个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:61.1万
展开全部
是STL的sort函数么,使用迭代子的那个?
如果是那个的话,貌似右面可以输入谓词逻辑的,也就是说你定义一个比较函数,传递进去,它就能按照你给的谓词逻辑进行排序。

// 传递类型可能有问题,你自己调试一下  
bool compare(const Student& left, const Student& right)
{ return (left.number > right.number);}
....
sort(a[0], a[9], compare);

你可以自己试一下。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duduyaodg
2013-03-26 · TA获得超过504个赞
知道小有建树答主
回答量:248
采纳率:100%
帮助的人:173万
展开全部
可以的~~~
int cmp(const void *a, const void *b)
{
return ((Student*)a)->number - ((Student*)b)->number;

}
调用
sort(a, a+10, cmp);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式