sort中用lambda函数(看完就会)

2023-11-18

介绍

sort函数是默认从小到大排列的,如果我们想要改变排序方式就要自己写个cmp函数,如果排列方式比较简单的话我们可以在sort函数中用一个简单的lambda函数。

源码及讲解

对非结构体的数组

前面的[]表示对数的操作方式,如果填个&说明是直接操作数,不用copy,但是这个我们一般用不到,里面就保持空就行了。()里面是参数,就和普通的cmp函数的一样。

int main()
{
	int a[] = {1, 2, 3, 4, 5, 6, 7, 8};
	sort(a, a + 8, [](int x, int y){
		return x > y;
	});

	for (int i = 0; i < 8; i ++ ) cout << a[i] << ' ';
	
	return 0;
}

对结构体的数组

代码和上面的差不多,就是把()里面的参数类型改成结构体的tag,举个例子

struct students
{
	int score;
	int age;
}student[5];

这里结构体的tag就是students,那么我们sort的时候就可以这样写sort(student, student + 5, [](students x, students y){ return x.score < y.scoer; });

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sort中用lambda函数(看完就会) 的相关文章

随机推荐

  • 远程桌面出现了内部错误有哪些解决方法?

    远程桌面连接出现了内部错误解决方法 在使用Windows自带远程桌面连接时 有时会遇到 远程桌面出现了内部错误 这一问题 许多用户不知道如何解决远程桌面连接出现了内部错误 这里我们整理了五种有效的解决方法 分享出来以供参考 方法一 重启远程
  • ETL使用Kettle处理银行信用卡申请项目

    一 项目概述 对当天申请信用卡人员进行信息校对 对不符合人员进行风险标注 无风险人员信息根据所在地区进行分表 交付 信息来源 1 web端 银行网页申请 2 移动端 网银 手机银行 3 三方 各类门户网站 手机APP 4 柜台 人工柜台 A
  • 利用GIT钩子函数实现自动部署或其他操作

    1 Server端 第一步 创建初始化一个裸仓库 用来添加钩子函数 git init bare test git hook function git 第二步 通过裸仓库创建一个用来存放代码的仓库 git init test git hook
  • latex算法步骤,子代码编号及修改算法框的宽度

    看了官方文档和网上一下资料 对于一个步骤下面有好多子步骤的算法 大多是通过for循环与while判断实现的 而且对于for下面的每一步骤没有重新编码 感觉很乱 不好看 论文的参考文有下图的结构 感觉很好 可以一用 主要用到下面这个代码块 其
  • 被C语言的malloc给坑了

    事情是这样的 最近想用C语言实现一些数据结构 今天在写二叉树时在linux下使用gcc编码是没有任何问题的 然而当我在本地window使用clion编写时 同样的代码竟然不能用了 反复看了下代码没有任何问题 然后我把代码拷贝到linux中用
  • redis集群配置

    分片集群搭建 springboot集成redis 相关配置 spring redis timeout 3000 database 0 cluster node 127 0 0 1 7000 127 0 0 1 7001 127 0 0 1
  • SpringBoot 文件上传解决跨域问题

    后端解决跨域问题 在Controller接口上加上 CrossOrigin注解就可以 该注解可以加在类上 也可以加在方法上 一般的请求处理数据都没有问题 但是如果上传文件就会报跨域的错误 解决这个文件上传跨域的问题 就需要增加一个过滤器配置
  • django解决跨域的方法,django如何解决跨域问题,django如何跨域

    django 使三方工具包解决跨域问题 1 安装 pip install django cors headers 2 到django的配置文件settings py中配置 1 注册到app中 INSTALLED APPS corsheade
  • Thread.UncaughtExceptionHandler

    1 自定义Application继承Application 在清单文件中将默认的Application的android name 替换成自定义的Application对象名称即可 在Oncreate中写入要实现的内容 2 在编写APK程序时
  • SpringBoot @EnableAutoConfiguration exclude属性失效

    在学习SpringBoot的时候 入了不少的坑 今天学习 SpringBootApplication里面的 EnableAutoConfiguration注解的exclude属性的 加载配置中 发现了属性失效的case 病状 exclude
  • NMEA协议解析

    文章目录 一 NMEA0183协议 1 NMEA基本框架 2 常用语句 1 GNGGA 2 GNGLL 3 GNGSA 4 GPGSV 5 GNRMC 6 GNVTG 7 GNZDA 8 PAIRCLK等 二 异或校验和代码 1 网址在线计
  • Pycharm启动失败的可能原因之一

    下载好Python后下载Pycharm应用 但是点击应用配置后有时启动失败 有时弹框提示错误 看进程均不占CPU 尝试网上各种解决方案 重新下载软件 重装系统都没能解决 最终发现是因为电脑上装的加密软件导致 卸载后重新安装即可 Pychar
  • 解决 java.lang.noclassdeffounderror: XXX 相关问题

    本文能临时解决所有与noclassdeffounderror相关的报错 首先说下这个错误 它表示你在运行的时候没有找到这个包 但是我们在编译的时候反而有这个包 这里需要理解下 我们java在编译和运行的时候都会编译jar包 但是你肯定是id
  • 记一次Spark打包错误:object java.lang.Object in compiler mirror

    使用maven compile和package 一直报错scala reflect internal MissingRequirementError object scala runtime in compiler mirror not f
  • 【Linux】实现简易的Shell命令行解释器

    大家好我是沐曦希 文章目录 一 前言 二 准备工作 1 输出提示符 2 输入和获取命令 3 shell运行原理 4 内建命令 5 替换 三 整体代码 一 前言 前面学到了进程创建 进程终止 进程等待 进程替换 那么通过这些来制作一个简易的S
  • 多任务:分层特征融合网络 NDDR-CNN

    论文链接 NDDR CNN 论文摘要 In this paper we propose a novel Convolutional Neural Network CNN structure for general purpose multi
  • sqli-labs/Less-34

    这一关虽然属于宽字节注入 但是回归了post请求了 而且欢迎界面还是存在转义之后的样子和十六进制的样子 首先我们试试在username处输入admin 转义之后变成了admin 所以我们进行宽字节注入将注入修改为admin c0 结果界面还
  • 微信小程序隐私保护指引设置

    今天修改了发布规则 发布前必须填写用户隐私保护指引设置 就是以下内容
  • 解决Unity导出的APK启动黑屏的问题

    今天准备把最近写的Unity游戏编一个版本 但是放真机上运行时 一启动就黑屏 网上各种查资料 折腾半天后 找到了解决方案 需要指定Graphics APIs 为OpenGLES3 在 Project Settings gt Player g
  • sort中用lambda函数(看完就会)

    介绍 sort函数是默认从小到大排列的 如果我们想要改变排序方式就要自己写个cmp函数 如果排列方式比较简单的话我们可以在sort函数中用一个简单的lambda函数 源码及讲解 对非结构体的数组 前面的 表示对数的操作方式 如果填个 说明是