用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);
posted @ 2023-03-23 17:51  朱英浩  阅读(35)  评论(0编辑  收藏  举报