sort函数比较结构体
时间: 2023-06-22 13:35:04 浏览: 175
各种sort比较
可以使用sort函数比较结构体。在使用sort函数时,可以自定义比较函数,来指定结构体的排序方式。比较函数需要传入两个参数,通常为const引用类型,分别为要比较的结构体的两个实例。比较函数需要返回一个bool类型的值,来表示两个结构体的大小关系。例如,比较两个Person结构体的年龄大小,可以如下定义比较函数:
```
struct Person {
string name;
int age;
};
bool cmp(const Person& a, const Person& b) {
return a.age < b.age;
}
int main() {
vector<Person> people = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 20}};
sort(people.begin(), people.end(), cmp);
for (const auto& person : people) {
cout << person.name << " " << person.age << endl;
}
return 0;
}
```
在上述代码中,我们定义了一个Person结构体,包含姓名和年龄两个成员;然后定义了一个比较函数cmp,按照年龄从小到大排序;最后使用sort函数对people数组进行排序,并输出排序结果。
阅读全文