我希望按年龄分类
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct Person{
std::string name;
int age;
};
struct by_age{
bool operator() (Person const &a,Person const &b){
return a.age>b.age;
}
};
int main(){
vector<Person>people;
for (int i=0;i<4;i++){
cin>>people[i].age>>people[i].name;
}
sort(people.begin(),people.end(),by_age());
for (int i=0;i<4;i++){
cout<<people[i].name<<people[i].age<<" ";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码有很多错误请帮忙看看这个网站
此代码的主要问题是向量是空的,因此在设置值时会损坏内存.您需要显式设置矢量大小,或者使用push_back()向其添加值:
vector<Person> people(4);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1329 次 |
| 最近记录: |