首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何找出一个项目是否存在于std :: vector中?

如何找出一个项目是否存在于std :: vector中?

提问于 2017-12-12 09:22:18
回答 2关注 0查看 378

所要做的就是检查vector中是否存在一个元素,这样就可以处理每个case。

代码语言:txt
AI代码解释
复制
if ( item_present )
代码语言:txt
AI代码解释
复制
   do_this();
代码语言:txt
AI代码解释
复制
else
代码语言:txt
AI代码解释
复制
   do_that();"

回答 2

天使的炫翼

发布于 2017-12-12 09:28:54

正如其他人所说,使用STL find或find_if函数。但是,如果你在非常大的矢量搜索,这会影响性能,您可能要排序的载体,然后使用binary_search,lower_bound或upper_bound算法。

死者是小智

发布于 2017-12-12 09:28:39

你可以使用std::find从<algorithm>:

代码语言:txt
复制
代码语言:txt
AI代码解释
复制
std::find(vector.begin(), vector.end(), item) != vector.end()

这将返回一个布尔(true如果存在,false否则)。用你的例子:

代码语言:txt
AI代码解释
复制
#include <algorithm>
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
if ( std::find(vector.begin(), vector.end(), item) != vector.end() )
代码语言:txt
AI代码解释
复制
   do_this();
代码语言:txt
AI代码解释
复制
else
代码语言:txt
AI代码解释
复制
   do_that();
和开发者交流更多问题细节吧,去 写回答
相关文章
如何检测一个元素是否在 vector 中
可以使用头文件 <algorithm> 里的方法 std::find, #include <algorithm> #include <vector> vector<int> vec; if (std::find(vec.begin(), vec.end(), item) != vec.end()) do_this(); else do_that();
ClearSeve
2022/02/10
2.1K0
std::vector初始化[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
1.4K0
判断一个activity是否存在于系统中 博客分类: Android小技巧
已知包名和类名,如何判断这个activity是否在系统中存在呢?很简单,通过intent就行。
chroya
2018/10/31
8390
如何判断一个元素是否存在于一个亿级数据集中?
布隆过滤器(Bloom Filter)于 1970 年由布隆提出的,是专门用于检索一个元素是否存在于一个集合中的算法。
dys
2019/11/29
1.2K0
std::vector find_vectornator工具使用
vector本身是没有find这一方法,其find是依靠algorithm来实现的。
全栈程序员站长
2022/09/27
3640
动态数组和C++ std::vector详解
std::vector是C++的默认动态数组,其与array最大的区别在于vector的数组是动态的,即其大小可以在运行时更改。std::vector是封装动态数组的顺序容器,且该容器中元素的存取是连续的。
艰默
2023/09/05
7370
动态数组和C++ std::vector详解
如何判断一个项目是否值得投资?
评判一个项目是否赚钱主要看他的投资回报率。现在生活中有很多项目宣称自己有多赚钱,其实稍微想一下,就会知道不太可能。
石云升
2022/08/25
5610
库中如何实现vector
本应该开空间,然后再将数据插入进容器vector,此处我们复用resize函数的一种.就不需要自己再手撕一遍了.
初阶牛
2023/10/14
1830
库中如何实现vector
从 C++ STD::VECTOR的RESIZE和RESERVE看VECTOR的源码实现
https://www.cnblogs.com/yocichen/p/10574819.html https://www.kancloud.cn/digest/stl-sources/177267
早起的鸟儿有虫吃
2022/01/20
1.9K0
从 C++ STD::VECTOR的RESIZE和RESERVE看VECTOR的源码实现
C++ std::vector元素的内存分配问题
来看一个问题: 在使用C++ STL的vector时,下面三种写法有什么不同呢?其内存分配是怎么样的呢?
卡尔曼和玻尔兹曼谁曼
2019/01/22
3.6K0
C++ std::vector元素的内存分配问题
C++ std::vector元素的内存分配问题(补充)
在上篇博文C++ std::vector元素的内存分配问题中我们已经明确了使用std::vector容器时元素在内存中的创建情况。 所以,我个人觉得使用std::vector<T> vec;这种类型的最省时省力。 我们还是看原来的例子:
卡尔曼和玻尔兹曼谁曼
2019/01/22
1.9K0
C++ std::vector::resize() 方法解析(菜鸟看了秒懂)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
acoolgiser
2019/11/12
64.9K0
std::vector扩容机制,.按1.5倍取整扩容,如下。
#include <iostream> #include <vector> using namespace std; /* * 结论: * capacity = 1, newcapacity = 2; * capacity > 1, newcapacity = (int)(capacity * 1.5); */ int main(){ int cap = -1; vector<int> ints; for(int i = 0;i<1000000;i++){
forxtz
2020/10/10
7390
c++中的std::stod, stCPP程序说明std::stod():stof, std::stold
如果未执行转换,则会引发invalid_argument异常。如果读取的值超出双精度的可表示值范围,则会引发out_of_range异常。无效的 idx 会导致未定义的行为。
鲸落c
2022/12/14
3.1K0
C++中vector「vector「int」 」
1、定义vector<vector<int>> A;//错误的定义方式vector<vector<int> > A;//正缺的定义方式2、插入元素若想定义A = [[0,1,2],[3,4,5]],则://正确的插入方式vector<vector<int> > A;//A.push_back里必须是vectorvector<int> B;B.push_back(0);B.push_back(1);B.push_back(2);A.push_back(B);B.clear();B.push_back(3);B
狼啸风云
2020/07/15
1.4K0
找出直系亲属【并查集、vector路径存储】
如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如果A,B是C(外)祖父,祖母,则A,B是C的grandparent,C是A,B的grandchild,如果A,B是C的(外)曾祖父,曾祖母,则A,B是C的great-grandparent,C是A,B的great-grandchild,之后再多一辈,则在关系上加一个great-。
来杯Sherry
2023/05/25
2680
如何优雅的使用 std::variant 与 std::optional
std::variant与std::optional是c++17加入的新容器,variant主要是为了提供更安全的union, 而optional除了存取T类型本身外, 还提供了一个额外的表达optional是否被设置值的状态.
fangfang
2021/10/29
4K0
vector>初始化_vector如何重置
注意:vector<int> a(nums.begin()+1, nums.end()-2);中a包含nums.begin()+1,不包含nums.end()-2,也就是包含的区间是左闭右开区间
全栈程序员站长
2022/09/29
9470
【黄啊码】如何使用PHP检查图像是否存在于远程服务器上
众所周知,用PHP访问其他api接口,大都是用curl【当然,很多高级程序员瞧不上】,那么我们现在先用curl方式看看,代码简单如下:
黄啊码
2022/06/10
2.4K0
在bash脚本中如何检查一个命令是否存在
避免使用 which。它是一个外部进程,相对而言 hash、type 或 command 这样的内置程序执行效率更高,你还可以依靠内置程序来实际执行所需的操作,而且外部命令的效果很容易因系统而异。
程序熵
2023/09/25
1.2K0
在bash脚本中如何检查一个命令是否存在

相似问题

迭代std :: vector:unsigned与有符号的索引变量?

2407

如何检查一个特定的密钥是否存在于一个散列或者不是?

2269

如何检查数组的一个元素是否部分存在于给定的字符串中?

2138

我怎样才能知道std :: vector的大小/长度(以字节为单位)?

12.3K

如何找出哪个DOM元素具有焦点?

2306
相关问答用户
腾讯 | 技术专家擅长2个领域
萃橙科技 | 合伙人擅长4个领域
擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档