当前位置: 首页 > news >正文

【C++】sort函数的两种用法

一、引入

std::sort 是 C++ 标准库中的排序算法函数,通常用于对容器中的元素进行排序。它是 C++ 中常用的算法之一,广泛应用于各种实际开发场景中。通过学习 std::sort,你将掌握如何高效地对容器进行排序,以及如何通过自定义比较规则实现不同的排序需求。

二、std::sort 基本用法

函数声明

std::sort(iterator first, iterator last);
  • firstlast 是容器的起始迭代器和结束迭代器,表示排序的区间。
  • 默认情况下,std::sort升序对容器进行排序(即使用 operator< 比较元素)。

三、自定义排序规则:sort函数两种用法

std::sort 可以接受一个第三个参数,指定自定义的比较函数或函数对象(仿函数)。通过自定义比较函数,你可以对容器元素进行不同的排序。

方法一:函数法

bool cmp(int a, int b) {
    return a > b;
}
std::sort(nums.begin(), nums.end(), cmp);

方法二:Lambda函数法 (推荐)

std::sort(nums.begin(), nums.end(), [](int a, int b) {return a > b; });

注意,  [](int a, int b) {return a > b; }这一部分为sort函数的第三个参数,这么写时方便初学者理解,一般都这么排版:

std::sort(nums.begin(), nums.end(), [](int a, int b) {
    return a > b; // 降序排序
});

如果看不懂Lambda函数,可以参考这篇文章:【C++基础】Lambda 函数 基础知识讲解学习及难点解析-CSDN博客

相关文章:

  • 分布式容器技术是什么
  • 解决python配置文件类configparser.ConfigParser,插入、读取数据,自动转为小写的问题
  • AGI成立的条件
  • 算法及数据结构系列 - 回溯算法
  • 嵌入式芯片与系统设计竞赛,值得参加吗?如何选题?需要学什么?怎么准备?
  • QT开发(4)--各种方式实现HelloWorld
  • centos 7 搭建FTP user-list用户列表
  • LeetCode算法题(Go语言实现)_07
  • ensp 公司组网拓扑图
  • 如何给商品一键换色?图生生AI,告别繁琐修图
  • html5炫酷3D立体文字效果实现详解
  • 基于PySide6的CATIA自动化工具开发实战——空几何体批量清理系统
  • GITLAB部署安装教程
  • Kubernetes Init 容器:实现 Nginx 和 PHP 对 MySQL 的依赖检查
  • 9-类、结构体、指针、引用
  • 挖矿病毒应急响应处置手册
  • 嵌入式Linux——Framebuffer应用编程
  • Milvus学习整理
  • 我在windows上创建一个空文件,这个文件在哪里存着?这个文件要不要占据磁盘空间大小?
  • JVM常见面试总结
  • 母亲节书单|关于生育自由的未来
  • 王毅同巴基斯坦副总理兼外长达尔通电话
  • 深圳两家会所涉卖淫嫖娼各被罚7万元逾期未缴,警方发催告书
  • 中日有关部门就日本水产品输华问进行第三次谈判,外交部回应
  • 长江画派创始人之一、美术家鲁慕迅逝世,享年98岁
  • 心相印回应官方旗舰店客服辱骂消费者:正排查