我相信我可以说...
for (int i = 0; i < noun[].size(); i++)
{
if ( word[0] == noun[i])
{ //do something }
}
问题是,我需要用很多词重复多次。有时我想一次说很多字。像 if (words[0] == noun[/*any*/] && words[1] == verb [/*any*/])
有没有办法告诉它检查数组/vector 中的每个元素都反对它吗?
或者也许有一些类似于数组的容器可以快速查找?
我只能找到一种在 python 中完成它的方法,但我从来没有用 python 编程,所以我想要一种在 C++ 中完成它的方法。
在 python 中我发现了这样的东西:
a = [1,2,3,4,5]
b = 4
if b in a:
print("True!")
else:
print("False")
最佳答案
除非有关于 vector 中特定元素的位置的一些规则暗示另一个元素的位置,如果存在,则检测存在的算法必须是 O(N)。
例如,如果 vector 是排序的,那么一个好的定位规则就成立,并且那里有很多 O(log(N)) 算法:std::lower_bound
就是这样一个函数。
关于c++ - 我可以在不循环遍历的情况下检查数组/vector 中的单词吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49115902/