用lambda表达式按照结构体中的一个字段来排序一个结构体数组
假如结构体如下:
struct item {
int a;
string b;
};
代码:
#include <algorithm>
#include <vector>
using namespace std;
// 创建一个结构体数组
vector<item> arr = { {3, "c"}, {1, "a"}, {2, "b"} };
// 使用lambda表达式来定义比较函数
auto compare = [](item t1, item t2) {
return t1.a < t2.a; // 按照a字段升序排序
};
// 调用sort函数来对数组进行排序
sort(arr.begin(), arr.end(), compare);