如何在C++中用STL按照结构体中某一个元素进行排序?!
比如现在有一个typedefstruct{stringname;doublescore;}stu;然后我有一个vector<stu>demo;我如何将demo中的元素按照...
比如现在有一个
typedef struct {
string name;
double score;
} stu;
然后我有一个vector<stu> demo;
我如何将demo中的元素按照score从大到小排序?
注意,我想用<algorithm>里面的sort函数!!
我试过sort(demo.begin(), demo.end());但是它老提示在结构体定义的地方出错!
而且我看网上有说要重载运算符?我重载也不对啊。。 展开
typedef struct {
string name;
double score;
} stu;
然后我有一个vector<stu> demo;
我如何将demo中的元素按照score从大到小排序?
注意,我想用<algorithm>里面的sort函数!!
我试过sort(demo.begin(), demo.end());但是它老提示在结构体定义的地方出错!
而且我看网上有说要重载运算符?我重载也不对啊。。 展开
2个回答
展开全部
sort( RandomIt first, RandomIt last, Compare comp )
其中comp函数写成
bool cmp(const stu &a, const stu &b){
return a.score<b.score?1:(a.score==b.score)0:-1;
}
其中comp函数写成
bool cmp(const stu &a, const stu &b){
return a.score<b.score?1:(a.score==b.score)0:-1;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询