对结构元素的向量进行排序
我正在尝试对结构元素的向量进行排序,但我无法构造向量本身,这是
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct student_t{
string name;
int age,score;
} ;
bool compare(student_t const &lhs,student_t const &rhs){
if (lhs.name<rhs.name)
return true;
else if (rhs.name<lhs.name)
return false;
else
if (lhs.age<rhs.age)
return true;
else if (rhs.age<lhs.age)
return false;
return lhs.score<rhs.score;
}
int main(){
struct student_t st[10];
return 0;
}
我声明 vector
时的代码,我无法访问结构的元素,请给我提示如何去做这件事
i am trying to sort vector of struct's elements,but i can't construct vector itself here is code
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct student_t{
string name;
int age,score;
} ;
bool compare(student_t const &lhs,student_t const &rhs){
if (lhs.name<rhs.name)
return true;
else if (rhs.name<lhs.name)
return false;
else
if (lhs.age<rhs.age)
return true;
else if (rhs.age<lhs.age)
return false;
return lhs.score<rhs.score;
}
int main(){
struct student_t st[10];
return 0;
}
when i declared vector<student_t>st
i can't access element of struct,please give me hint how to do it
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您还可以使用此
vector
构造函数代替第 1-2 行:编辑:
如果您想使用键盘输入 10 个学生,您可以编写一个构造学生的函数:
You could also use this
vector
constructor instead of lines 1-2:Edit:
If you want to enter 10 students with the keyboard you can write a function that constructs a student:
对向量进行排序:
并读取向量的输入,您应该首先调整向量的大小或将输入调整为临时的
变量并将其推送到您的向量:
www.cplusplus.com/reference/stl/vector/矢量/
to sort the vector:
and to read input to your vector you should first resize the vector or input to a temporary
variable and push it to your vector:
www.cplusplus.com/reference/stl/vector/vector/