查找向量中最近的点

2024-04-23

给定一个具有多个值的排序向量,如下例所示:

std::vector<double> f;
f.pushback(10);
f.pushback(100);
f.pushback(1000);
f.pushback(10000);

我正在寻找最优雅的方法来检索任何 double d 与其直接相邻的两个值。例如,给定值“45”,我希望返回“10”和“100”。

我正在查看 lower_bound 和 upper_bound,但它们没有做我想要的。你能帮我吗?

编辑:我决定发布我自己的答案,因为它在某种程度上是我在该线程中获得的所有有用答案的综合体。我已经投票赞成了我认为最有帮助的那些答案。

感谢大家,

Dave


您可以使用 equal_range() 在一次调用中获取这两个值(如果存在)。它返回一个 std::pair 迭代器,第一个是第一个位置,第二个是最后一个位置,您可以在其中插入传递的值而不违反顺序。为了严格满足您的标准,您必须在验证迭代器不等于向量的 begin() 之后,首先递减迭代器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找向量中最近的点 的相关文章

随机推荐

  • 在 Windows Server 2003 中将控制台应用程序安装为 Windows 服务

    这可能是一个基本问题 所以提前道歉 我有一个控制台应用程序 我想在 Windows Server 2003 上测试它 我使用 4 0 框架在 C 中以发布模式构建了该应用程序 并将 bin 文件夹的内容粘贴到 windows server
  • 在 Objective-C 中以编程方式创建 .pem 文件?

    我正在尝试使用 iPhone 应用程序中的 Objective C 和 OpenSSL 库以编程方式从证书签名请求创建 PEM 文件 我按照 Adria Navarro 对这个问题的回答生成了 CSR 类型为 X509 REQ 使用钥匙串存
  • 从 Java / C# 角度理解 C++ 编译器

    我是一名经验丰富的 Java C 程序员 最近开始学习 C 问题是 我无法理解如何构建各种头文件和代码文件 这似乎主要是由于我对编译器如何将所有内容链接在一起缺乏了解 我尝试阅读一些教科书 但我的先入之见受到我的 Java 和 C 知识的影
  • 使用 AVPlayer 播放流媒体视频

    如何播放流媒体视频AVPlayer import Cocoa import AVKit class StreamViewController NSViewController var videoPlayer AVPlayer IBOutle
  • maven中这两个设置一样吗?

    我想限制maven仅使用私有 非公共maven存储库 这两个设置具有相同的效果吗 1 settings xml中设置镜像
  • 使用jquery mobile在页面之间传递参数

    jquery mobile 中页面之间传递参数的正确方法是什么 在jquery mobile的Q A中 有一些插件的建议 是强制性的吗 请告诉我正确的方法 没有一个具体的答案 我必须为页面中的所有链接传递参数 http view jquer
  • Mercurial .hgrc 文件

    默认情况下 在 Windows XP 上 Mercurial 将 hgrc 文件存储在 好吧 就我而言 c Documents and Settings srooks 我如何更改该位置 并让它在其中查找 hgrc 文件 例如 c Confi
  • 在哪里可以找到 Hyperledger Fabric peer 命令可能的环境变量?

    配置对等节点运行时 示例 docker compose 文件中包含许多环境变量 有什么地方可以找到它们的全部记录吗 e g environment CORE VM ENDPOINT unix host var run docker sock
  • 如何在 Dockerfile 中添加大型 HTTP 文件并将其从镜像层中排除?

    Our Nexus服务器 http www sonatype com nexus product overview为我们的 Java 项目提供构建工件 包括其安装程序 那个安装程序是真的很大 gt 1GB 我想检索并使用它Dockerfil
  • Matplotlib scatter():大小、标记形状的默认值

    有没有办法设置default标记尺寸 s matplotlib 的参数plt scatter 或者同样设置标记的形状 mpl rcParams keys 有线图的设置 例如 import matplotlib as mpl mpl rcPa
  • 如何在 H2 中创建过程

    这似乎与具有相同标题的其他问题重复 但实际上并非如此 我们的业务逻辑主要作为 DB2 存储过程来实现 我看到 H2 有一个 DB2 兼容模式 很好 我们如何使用 H2 通过这些程序进行内存单元测试 不幸的是 H2 似乎缺少 CREATE P
  • Android中的适配器应该是静态内部类还是非静态内部类

    我在 Activity 中有一个 ListView 并且正在为 ListView 设置自定义适配器 我的适配器类应该是 private static class MyAdapter extends ArrayAdapter or priva
  • golang:无法从内存不足崩溃中恢复

    在某些情况下 调用append 会触发内存不足恐慌 并且append 本身似乎不会返回nil 我怎样才能避免这种恐慌情况并向我的用户显示 资源暂时不可用 此致 你不能 如果运行时无法为追加分配内存 则可能无法恢复或向用户传达 资源暂时不可用
  • Lua 中的内联条件(a == b ? "yes" : "no")?

    无论如何 Lua 中可以使用内联条件吗 Such as print blah a true blah nahblah Sure print blah a and blah or nahblah
  • 如何在 Mapbox 4.1 中添加自己的图块

    我有一个图块来源作为网址 并希望将它们添加到我的地图中 我能够做到这一点谷歌地图 and OSMDroid 但我不知道如何使用Mapbox 我的网址格式如下 http mysource x y z 我已经看到了针对网络的解决方案 但我没有找
  • 所有 iPad 和 iPad Pro 的视图之间的间距是否规则/规则?

    我最近遇到了不同 iPad 之间常规 常规尺寸类别的差异 这是我的相关问题所有 iPad 包括 iPad pro 的常规 常规头寸大小限制 https stackoverflow com questions 33958858 regular
  • 从 Angular2 服务返回一个空的 Observable

    我正在构建一个 Angular 2 应用程序 它使用服务来收集数据 该服务确实包含以下逻辑 CORE COMPONENTS import Injectable from angular core import Http Response f
  • 如何使用变量名称通过 ddply 引用数据框列?

    我正在尝试编写一个函数 该函数将保存时间序列数据的数据框的名称和该数据框中的列的名称作为参数 该函数对该数据执行各种操作 其中之一是在列中添加每年的运行总计 我正在使用plyr 当我直接将列名与 ddply 和 cumsum 一起使用时 没
  • 如何在 MySQL 中将 SELECT ON 表名授予 PUBLIC

    我是 MySQL 新手 我试图弄清楚如何使所有经过身份验证的用户都可以公开读取表格 在甲骨文中我会说grant select on tablename to public 该语法不适用于 MySQL 我无法找出等效的语法 Per MySQL
  • 查找向量中最近的点

    给定一个具有多个值的排序向量 如下例所示 std vector