vector结构体数组排序
时间: 2023-07-25 19:14:09 浏览: 132
可以使用STL的sort函数来对vector结构体数组进行排序,具体步骤如下:
1. 引入头文件:`#include<vector>`和`#include<algorithm>`
2. 定义一个结构体,例如:
```c++
struct Student {
string name;
int score;
};
```
3. 定义一个vector结构体数组,例如:
```c++
vector<Student> students = {{"Tom", 80}, {"Jerry", 90}, {"Alice", 70}, {"Bob", 75}};
```
4. 定义排序比较函数,例如:
```c++
bool cmp(Student a, Student b) {
return a.score > b.score; // 按照分数从高到低排序
}
```
5. 使用sort函数对vector结构体数组进行排序,例如:
```c++
sort(students.begin(), students.end(), cmp);
```
这里的students.begin()和students.end()分别表示vector结构体数组的起始位置和结束位置,cmp是我们定义的排序比较函数。
6. 排序后的结果为:
```c++
{"Jerry", 90}, {"Tom", 80}, {"Bob", 75}, {"Alice", 70}
```
所以,对于一个vector结构体数组,只需要定义一个排序比较函数,然后对这些结构体元素进行排序即可。
阅读全文