用lambda表达式按照结构体中的一个字段来排序一个结构体数组

Posted 朱英浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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);

以上是关于用lambda表达式按照结构体中的一个字段来排序一个结构体数组的主要内容,如果未能解决你的问题,请参考以下文章

C语言-对一个结构体中的字段进行排序

用c语言给结构体中的元素排序

使用lambda表达式按字段排序

c语言中如何将按结构体中的某个元素大小,将结构体排序输出

002 lambda表达式

matlab中如何看函数结构体中的数据