结构体向量排序 c++
时间: 2023-08-17 21:41:16 浏览: 84
c++ 结构体排序 干货满满
可以使用`sort`函数来对结构体向量进行排序。假设有一个结构体`Person`,它有两个成员变量`name`和`age`,可以按照年龄从小到大排序,代码如下:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Person {
string name;
int age;
};
bool cmp(const Person& a, const Person& b) {
return a.age < b.age;
}
int main() {
vector<Person> people{ {"Tom", 20}, {"Jerry", 18}, {"Alice", 22} };
sort(people.begin(), people.end(), cmp);
for (auto& p : people) {
cout << p.name << " " << p.age << endl;
}
return 0;
}
```
输出结果为:
```
Jerry 18
Tom 20
Alice 22
```
其中,`cmp`函数是用来指定排序规则的,它返回值为`true`表示第一个参数应该排在第二个参数之前,返回值为`false`表示第一个参数应该排在第二个参数之后。在本例中,按照年龄从小到大排序,所以`cmp`函数中使用`a.age < b.age`来进行比较。
阅读全文