c++ - 如何将迭代器指向向量中大于或等于目标数的元素
问题描述
例如,我有一个向量 v=[7,4,5,10,13]。这里我的目标数字是 6。我首先对向量进行排序:
sort(v.begin(), v.end());
现在我的输出将是 [4,5,7,10,13]。在此之后,我想打印大于或等于“6”的数字,这将使我输出为 [7,10,13]。
C++ 中执行此任务的便捷方法是什么?
解决方案
#include <algorithm>
#include <vector>
#include <iostream>
int main()
{
std::vector<int> v = {7,4,5,10,13};
std::sort(v.begin(), v.end());
auto iter = std::upper_bound(v.begin(), v.end(), 6);
for (; iter != v.end(); ++iter)
std::cout << *iter << " ";
}
输出:
7 10 13
推荐阅读
- plsql - pl/sql 创建行级触发器
- visual-studio-code - VS Code 光标跳到底部
- c# - 如何使用 csvhelper 读取文件夹中的多个 csv 文件
- ithit-webdav-server - 写入通过映射驱动器中的 Windows 资源管理器打开文件时所做的文件更改
- batch-file - 归档目录超过 N 天的批处理脚本
- javascript - 反应原生相机在导航时变为空白
- jquery - Jquery:将最后一行集中在textarea上的更改
- mysql - subTables 连接查询,任何数据库中间件建议
- go - 当我使用 go get 获取一些包时,如何切换到 golang.google.cn?
- google-optimize - 如何使用谷歌优化改变环境