vector中的结构题排序

vector存放一个结构体,结构体中有两个a,b两个int,对vector排序,先按a升序排列,如果a相等,按b降序排列,如何用代码实现。求详细代码returnl.a<r... vector存放一个结构体,结构体中有两个a,b两个int,对vector排序,先按a升序排列,如果a相等,按b降序排列,如何用代码实现。求详细代码
return l.a< r.a||(l.a==r.a&&l.b>r.b);这一句怎么理解啊?
展开
 我来答
数据之路
2010-05-23 · 大数据人工智能与金融市场数据分析
数据之路
采纳数:59 获赞数:261

向TA提问 私信TA
展开全部
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
typedef struct sq
{
int a;
int b;
}Sq;

void PrintInfo (Sq & abc1) //自定义输出函数
{
cout << abc1.a <<" "<< abc1.b<< endl;
};

bool operator<(const Sq& l,const Sq& r) //重载<运算符,用于比较结构体
{
return l.a< r.a||(l.a==r.a&&l.b>r.b); //先按a升序排列,如果a相等,按b降序排列
}

void main()
{
int c,d;
vector<Sq> array;
Sq n;
while(cin>>c>>d) //直到输入一个非整数
{
n.a=c;
n.b=d;
array.push_back(n); //入栈
}
sort(array.begin(),array.end()); //排序

for_each(array.begin(),array.end(),PrintInfo); //输出结果

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式