sort函数结构体c++用法
时间: 2023-07-25 07:17:17 浏览: 118
c++ qsort 与sort 对结构体排序实例代码
在C++中,可以使用sort函数对结构体进行排序。下面是一个示例代码:
```c++
struct Person {
string name;
int age;
};
bool sortByAge(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(), sortByAge);
for (const auto &person : people) {
cout << person.name << " " << person.age << endl;
}
return 0;
}
```
在这个示例中,我们定义了一个名为Person的结构体,其中包含两个成员变量:name和age。我们还定义了一个名为sortByAge的函数,用于比较两个Person对象的age成员变量,并根据其大小返回一个bool值。最后,在主函数中,我们创建了一个包含三个Person对象的vector,并使用sort函数将其按照age从小到大排序。最后,我们遍历排序后的vector,并输出每个Person对象的name和age成员变量。
总体来说,使用sort函数对结构体进行排序,需要定义一个比较函数,并将其作为sort函数的第三个参数传入。比较函数需要接收两个结构体对象作为参数,并返回一个bool值,以告诉sort函数它们的大小关系。
阅读全文