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

C++编程——关于比较器的使用

注:

简单记录一下C++里比较器的构建,常用于自定义 sort() 函数和优先队列的改写优先级。

简单构建比较器:

sort() 函数:
vector<int> arr;//(a, b) -> true  : a < b
//升序排列
bool compare(int a, int b) {return a < b;
}sort(arr.begin(), arr.end(), compare);
优先级队列:
//(a, b) -> true : a > b -> b优先级高,即小值优先级高
//排列优先级
struct compare{bool operator()(int a, int b){return a > b;}
};priority_queue<int, vector<int>, compare> queue;

匿名函数构建比较器:

sort() 函数:
vector<int> arr;//(a, b) -> true  : a < b
//升序排列
sort(arr.begin(), arr.end(), [](int a, int b){ return a < b });
优先级队列:
// 方法1:使用 lambda 表达式 + decltype
auto cmp = [](int a, int b) { return a > b; };
priority_queue<int, vector<int>, decltype(cmp)> queue1(cmp);// 方法2:使用 std::function
priority_queue<int, vector<int>, function<bool(int, int)>> queue2([](int a, int b) {return a > b;
});

相关文章:

  • 五子棋网络对战游戏的设计与实现设计与实现【源码+文档】
  • 常见工具导出DDL语句
  • 图片切割工具:智能分割长图并控制文件大小
  • 三维GIS开发cesium智慧地铁教程(4)城市白模加载与样式控制
  • 数据任务调度解决离不开离线开发BatchWorks
  • 单周期cpu和多周期cpu、单周期数据通路和多周期数据通路与总线结构数据通路和专用数据通路的关系
  • AOP实现Restful接口操作日志入表方案
  • CC7利用链深度解析
  • 基于3D对象体积与直径特征的筛选
  • 【Linux】find 命令详解及使用示例:递归查找文件和目录
  • EtherNet/IP转DeviceNet协议网关详解
  • C++.OpenGL (9/64)摄像机(Camera)
  • mysql的分页场景下,页数越大查询速度越慢的解决方法
  • 3D Web轻量化引擎HOOPS Communicator的定制化能力全面解析
  • java 局域网 rtsp 取流 WebSocket 推送到前端显示 低延迟
  • 11.RV1126-ROCKX项目
  • MySQL 索引优化
  • Linux驱动:再看静态映射和动态映射
  • 数学:数的概念是如何发展的?
  • Python 训练营打卡 Day 45
  • 公司网站建设考核/环球网今日疫情消息
  • 品牌网站设计服务/seo排名赚挂机赚钱软件下载
  • 做视频直播类型的网站/查看浏览过的历史记录百度
  • 做网站背景全覆盖的代码/企业产品推广运营公司
  • 做网站市场大不大/免费做网站
  • 云南做网站报价/国际军事新闻最新消息