c++ sort 函数能对类或者结构体进行排序吗
比如一个classStudent{public:intgrade;intnumber;stringname;}//这个类换成数组也行Studenta[10];然后录入十个...
比如一个
class Student
{
public:
int grade;
int number;
string name;
}
//这个类换成数组也行
Student a[10];
然后录入十个学生的数据
sort函数能够根据number来排序整个类数组吗 展开
class Student
{
public:
int grade;
int number;
string name;
}
//这个类换成数组也行
Student a[10];
然后录入十个学生的数据
sort函数能够根据number来排序整个类数组吗 展开
3个回答
展开全部
是STL的sort函数么,使用迭代子的那个?
如果是那个的话,貌似右面可以输入谓词逻辑的,也就是说你定义一个比较函数,传递进去,它就能按照你给的谓词逻辑进行排序。
// 传递类型可能有问题,你自己调试一下
bool compare(const Student& left, const Student& right)
{ return (left.number > right.number);}
....
sort(a[0], a[9], compare);
你可以自己试一下。
如果是那个的话,貌似右面可以输入谓词逻辑的,也就是说你定义一个比较函数,传递进去,它就能按照你给的谓词逻辑进行排序。
// 传递类型可能有问题,你自己调试一下
bool compare(const Student& left, const Student& right)
{ return (left.number > right.number);}
....
sort(a[0], a[9], compare);
你可以自己试一下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以的~~~
int cmp(const void *a, const void *b)
{
return ((Student*)a)->number - ((Student*)b)->number;
}
调用
sort(a, a+10, cmp);
int cmp(const void *a, const void *b)
{
return ((Student*)a)->number - ((Student*)b)->number;
}
调用
sort(a, a+10, cmp);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询