社区
C++ 语言
帖子详情
stl中map查找与特定key差值最小的key-val,因为find函数只能查找与key相等的元素,请各位支招
shanyilei018
2012-03-22 07:27:46
rt
...全文
394
9
打赏
收藏
stl中map查找与特定key差值最小的key-val,因为find函数只能查找与key相等的元素,请各位支招
rt
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shanyilei018
2012-03-23
打赏
举报
回复
lower_bound Return iterator to lower bound (public member function)
upper_bound Return iterator to upper bound (public member function)
果然,还是没看仔细阿,谢谢几位。
nice_cxf
2012-03-23
打赏
举报
回复
就算不用成员函数,自己写二分查找也不是很麻烦
ohayou
2012-03-23
打赏
举报
回复
我敢说你没仔细看完map的成员函数
lower_bound Return iterator to lower bound (public member function)
upper_bound Return iterator to upper bound (public member function)
shanyilei018
2012-03-23
打赏
举报
回复
谢谢各位,两种方法我都试一下
Saingel
2012-03-22
打赏
举报
回复
很简单,
因为map key是排序,
所以先插入你要比较的值,然后find这个值,之后迭代器前移后移,比较前后两者元素哪个符合条件即可,
当然要先找一找这个特定key值在map中有没有
pathuang68
2012-03-22
打赏
举报
回复
动动脑筋,这个不算难
taodm
2012-03-22
打赏
举报
回复
lower_bound,upper_bound中间一个有一个可用。然后,怎么修正结果就自己想吧。
shanyilei018
2012-03-22
打赏
举报
回复
请问2楼,我现在要查找的不是key,而是和key差值最小的key-val元素组,也就是find()函数不可直接运用
巫师
2012-03-22
打赏
举报
回复
c++map是以红黑树实现的,key是自动排序的,所以遍历一次就行了
[
STL
与数据结构]搜索二叉树
大家好呀!今天带来的文章是平衡二叉树,你是否在写题的时候遇到需要容器存储,且是否效率低下,没事搜索二叉(
map
,set的底层)树帮你解决问题 文章目录搜索二叉树的底层结构造轮子理解底层 搜索二叉树的底层结构 定义 搜索二叉树的左子树永远比根小,右子树永远比根大,且树
中
值唯一确定(目前是),如图所示: 你仔细看发现每一棵子树都是按照那个规则的,你在仔细看如果按照
中
序遍历(左,根,右)打印的话能会发现,竟然是一个升序的序列 问 那么这个用这个结构差找效率是多少呢?到底有多快呢? 答 搜索
STL
容器与算法 (八)C++
map
知识点
文章目录C++
map
定义头文件构造
函数
无参构造insert()一个参数另一个对象的一段输出属性其他
函数
C++
map
Map
是
STL
[1] 的一个关联容器,它提供一对一(其
中
第一个可以称为关键字,每个关键字
只能
在
map
中
出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。
map
容器属于关联容器
中
的有序容器。...
【C++标准库】7-
STL
容器-
Map
与Multi
map
-导读-能力-操作
函数
0.导读
Map
和 multi
map
将
key
/
val
ue pair当作
元素
进行管理。它们可根据
key
的排序准则自动为
元素
排序。Multi
map
允许重复
元素
,
map
不允许。使用
map
和 multi
map
之前,你必须先包含头文件<
map
>: #include <
map
>There, the types are defined as class templates inside namespace std:namespace std { template <typename K
C++
STL
查找
算法深度解析:从线性搜索到二分
查找
实战指南
查找
算法是计算机科学
中
处理数据检索的基础技术,其核心原理是通过
特定
策略在数据集合
中
定位目标
元素
。在C++编程实践
中
,
STL
(Standard Template Library)提供了一套高效、泛型的
查找
算法工具集,这些算法基于迭代器抽象,实现了算法与数据结构的解耦,极大提升了代码的复用性和性能。对于无序数据,线性
查找
算法如`std::find`和`std::find_if`是直接的选择,它们通过遍历进行比较,时间复杂度为O(N)。当数据有序时,二分
查找
及其变种算法(如`std::lower_bound`、`
C++
STL
中
map
关联容器的用法
话不多说,直接上代码。 程序运行截图 #include <iostream> #include <
map
> #include <unordered_
map
>//Hash
map
不进行 键排序的
map
。 #include <string> using namespace std; //Hash映射 //
map
关联容器,提供一对一的哈希映射
key
...
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章