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

Functions

Vector

std:ranges::sort()

-std=c++20

是一个C++20引入的排序函数,收录于#include<algorithm>
()里的内容通常是 vector 和 array(满足随机访问迭代器要求),也可以是其它符合范围 概念 的序列。

使用规则

默认是std::less,即升序排序。

改变排序规则可以通过传入自定义比较函数来实现,比如:
std::range::sort(cnt,std::greater{});

TIPS:
C++17后可以这么写,传统方法写作...sort(cnt,std::greater<Type>{});

和std::sort的区别在哪里?

本函数可以直接接受范围/容器作为参数,不需传begin()/ end()迭代器。
传统写法所实现的功能相同,但是需要显式指定迭代器范围

sort使用方法

传入两个迭代器,指定左闭右开的区间,默认升序
自定义排序规则需传第三参数(比较函数)

array,vector

  arr [];
sort(arr,arr + n);//[arr,arr + n)vector<int> V;
sort(V.begin(),V.end());//[begin,end)

时空复杂度

两个函数的时空复杂度都是O(nlogn)

http://www.jsqmd.com/news/5468/

相关文章:

  • 365 赚钱宝小程序系统:多元化变现与趣味运营一体的小程序解决方案
  • 9.22 总结
  • iOS 26 系统流畅度深度评测 Liquid Glass 动画滑动卡顿、响应延迟、机型差异与 uni-app 优化策略 - 教程
  • 一些树上问题
  • 网络工程 --- 一个嵌入式网络设备中存在哪些开源软件
  • 如何用 ShedLock 让 Spring Boot 的定时任务在多实例环境下只执行一次
  • 故障处理:Oracle表空间异常增长后又恢复正常的故障模拟与分析
  • C# Avalonia 15- Animation- CachingTest
  • 事务和Spring常用注解的总结
  • 在 Linux 中安装和配置 NTP 服务器和 NTP 客户端
  • Redis 高可用篇 - 实践
  • Ansible + Docker 部署 MinIO 集群
  • ​​万用表与电流探头测量电流信号的技术对比分析​​
  • flink运行时架构 - --
  • WPF Canvas mark triangle, circle, and retangle, then save the whole canvas as jpg file
  • wifi亮灭屏机制--系统修改
  • 自动遍历测试利器:开源工具AppCrawler 配置全解析
  • 得帆云ETL全新版本升级驱动数据高效流转
  • 挖同行墙脚!有稳定供应商的客户怎么下手构建?
  • 开源技术崛起:中国如何构建数字经济时代的创新基础设施
  • 250928
  • 地图商业授权共享 - no
  • DevOps平台选型指南:数字化转型中的技术决策关键
  • window 安全模式卸载任何软件
  • 定制笔记本电脑工厂排名:从基础代工到联合设计全面分析 - 教程
  • 题解:qoj1261 Inv
  • sv 去除字符串行尾空格函数
  • LeetCode 386 字典序排数 Swift 题解:模拟字典翻页的遍历技巧 - 实践
  • 题解:AT_abc214_g [ABC214G] Three Permutations
  • 通过velocity将增量发版的代码及文件生成生成一个linux shell文件(解放运维)