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);这一句怎么理解啊? 展开
return l.a< r.a||(l.a==r.a&&l.b>r.b);这一句怎么理解啊? 展开
展开全部
#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); //输出结果
}
#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 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询