当前位置: 首页 > 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.hskmm.com/?act=detail&tid=20027

相关文章:

  • QOJ #5421. Factories Once More 题解
  • 自动生成验证码
  • 9.23 总结
  • 新品团购 V3 小程序:助力商家高效拓客与直播带货的全能解决方案
  • 事倍功半是蠢蛋56 写业务不要有预设心态
  • 365 赚钱宝小程序系统:多元化变现与趣味运营一体的小程序解决方案
  • 9.22 总结
  • Ansible实现自动化运维 - 实践
  • 每天30道四则运算题目(随机数习题)
  • capsWriter-offline可否支持更小声音输入调研-opus4.1答复
  • git 版本控制
  • 读书笔记:字符与二进制字符串类型详解
  • 析构——循环引用
  • 一些树上问题
  • 如何用 ShedLock 让 Spring Boot 的定时任务在多实例环境下只执行一次
  • 故障处理:Oracle表空间异常增长后又恢复正常的故障模拟与分析
  • Oracle故障分析:lsnrctl start启动监听很慢(AIX平台)
  • 第十届新能源系统、电气与电力国际学术会议 (NESEP 2025)
  • 数据结构 - 二叉树的非递归方式遍历
  • 1208. 翻硬币
  • C# Avalonia 15- Animation- CachingTest
  • CF838D Airplane Arrangements
  • java操作数据库中的bug
  • 事务和Spring常用注解的总结
  • 浅谈SQL应用考试,临时抱佛脚篇
  • 网络安全风险评估指南:CISO如何通过风险评估提升安全防护
  • 藏好自己,做好清理——悼念沈劫匪先生有感
  • macbook m1 安装telnet
  • 低空经济:从政策热词到生活日常——中国低空经济全景解析与杭深模式对比 - 教程
  • 指数函数的特征