
实用的 s t l
发布日期:2021-05-14 09:16:11
浏览次数:12
分类:精选文章
本文共 760 字,大约阅读时间需要 2 分钟。
寻找数组中的最大最小值可以通过C++ STL中的标准函数实现。对于找出最大值和最小值,使用min_element
和max_element
函数即可。这些函数的时间复杂度均为O(n),适用于任意长度的数组。
为了将第n小的数放到对应的位置,可以使用nth_element
函数。这一操作的时间复杂度同样为O(n),适合直接在排序后的数组中进行。
如果你的数组当前是未排序的,想要进行排序操作和反转,可以使用sort
函数将数组排序,然后再调用reverse
函数进行反转,操作时间复杂度为O(n log n)。
如果你已经有一个排序好的数组,可以使用unique
函数来扫描数组并去除重复的元素,并返回新的终止指针,这样就能得到一个仅包含唯一元素的新数组。
要检查某个元素是否存在于数组中,可以使用binary_search
函数进行二分查找,返回一个布尔值,判断元素是否存在。这种方法的时间复杂度为O(logn)。
如果你希望找到某个元素在数组中的存在位置,可以使用lower_bound
函数,它会返回第一个大于或等于指定元素的位置,或者在数组末尾返回end指针。如果你需要找到第一个大于指定元素的位置,可以使用upper_bound
函数。
需要注意的是,lower_bound
和upper_bound
的查找范围都是在数组的begin到end-1位置,这样可以避免越界问题。
除此之外,C++ STL还提供了多种容器,如stack(栈,先进后出),queue(队列,先进先出),以及priority_queue(优先队列,基于优先级进行排序)。例如,stack
que可以实现栈操作,如push和pop,队列可以使用push和front方法实现先进先出的功能,优先队列则可以通过push和top()方法来管理和获取具有优先级的元素。发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月08日 14时48分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
idea 在Debug 模式中运行语句中函数的方法
2019-03-11
springboot2.1.1开启druid数据库连接池并开启监控
2019-03-11
docker
2019-03-11
《朝花夕拾》金句摘抄(五)
2019-03-11
《朝花夕拾》金句摘抄(六)
2019-03-11
《金色梦乡》金句摘抄(六)
2019-03-11
mybatis+spring报错PropertyAccessException 1
2019-03-11
Boostrap技能点整理之【网格系统】
2019-03-11
JavaScript实现鼠标放上去之后高亮显示且隔行换色
2019-03-11
java百钱白鸡的算法
2019-03-11
sql server链接查询
2019-03-11
又一大波笑到肾抽筋,笑出六块腹肌的段子
2019-03-11
新闻发布项目——业务逻辑层(UserService)
2019-03-11
常用数据库连接串与驱动总结
2019-03-11
hibernate正向生成数据库表以及配置——hibernate.cfg.xml
2019-03-11