C++STL中顺序容器的排序问题
我现在有一个类student,里边有int型成员num和char型成员name。我现在将10个student数据添加到vector容器,那么怎么使用标准库中的sort函数...
我现在有一个类student,里边有int型成员num 和char型成员 name。我现在将10个student数据添加到vector容器,那么怎么使用标准库中的sort函数对vector容器中的student数据按student中成员num的大小进行排序。
展开
1个回答
展开全部
可以编写一个比较函数比较成员num,然后将这个函数指针作为参数传给sort()即可
class student
{
protected:
....
public
....
static inline bool LcNum(const student & X, const student & Y) {return X.num < Y.num;}
....
};
排序时这样
vector<student> s;
sort(s.begin(), s.end(), student::LcNum);
即可
class student
{
protected:
....
public
....
static inline bool LcNum(const student & X, const student & Y) {return X.num < Y.num;}
....
};
排序时这样
vector<student> s;
sort(s.begin(), s.end(), student::LcNum);
即可
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询