c++ STL less 的视角

c++ less 函数在不同的地方感觉所起的作用是不一样的, 这中间原因是 less 的视角不一样, 下面尝试给出解释下, 方便记忆

1、 左右视角

符合

排序sort

less(value, element)

less 表示一种 "符合关系" , 表示sort 后, 整个数组从前到后符合< 的关系 , 方向是从前到后

二分函数

std::upper_bound

less(value, element)
从左到右找到第一个符合 less的

std::lower_bound

less(element, value)

从左到右找到第一个不符合less 的,

下面这个图,方面记忆value 和element 在 less 里的位置

2、 下上视角

优先队列(如 std::priority_queue)

底层逻辑理解:

堆, 构造的时候使用的是 heapUp 的一种操作,即首先将成员加入内部存储如 vetor 尾部, 然后对改成员进行跃升heapUP

设当前为now, 父节点为 p

less(now, p), 那么这个时候less 就是一种 自顶向上的符合关系 仰视视角的符合

记忆技巧

值越小优先级越高(比如linux 进程调度的 的PRI 值)

相关推荐
lhldsg5 小时前
社区健身系统开发实战:从需求分析到落地部署全流程指南
java·开发语言·小程序·需求分析
李高钢5 小时前
C# WPF Prism 进阶(三):导航(Navigation)深入
开发语言·c#·wpf
冯汉栩5 小时前
Swift Control DashLineView(虚线)
开发语言·ios·swift
笨鸟先飞的橘猫5 小时前
c++游戏后端开源框架学习——wukong(十、lua热更新)
c++·游戏·开源
覆东流5 小时前
4.Java运算符与表达式
java·开发语言·后端
我变成萤火虫5 小时前
2026 ICPC沈阳邀请赛Vp补题
数据结构·c++·算法·贪心算法·stl·排序算法·动态规划
SomeB1oody6 小时前
【RustyML入门】5.1. 回归指标
开发语言·后端·机器学习·rust·教程
龙虾PRO6 小时前
2026 DeepSeek Harness 部署完整教程:npx 一键启动至 Python SDK 全流程接入
开发语言·python
小小龙学IT6 小时前
Google Test(gtest/gmock)开源 C++ 单元测试与 Mock 框架完全指南
c++·单元测试·开源
小新讲网安8 小时前
WiFi安全攻防实战:WPA3新协议与传统破解技术全解析
开发语言·网络·安全·php·漏洞·nmap·漏洞检测