c++ vector find 如何查找啊?语法是怎么写的?

2025-01-01 18:15:23
推荐回答(3个)
回答1:

如下参考:

1. 首先,打开如图中红色方框所示的软件,构造一个整型向量向量。

2.如图所示,向量的大小为0。

3.如红色方框所示,将vector元素的值修改为6个元素的值为20的向量。

4.计算结果表明,该算法成功地构造出了含有6个元素的向量。

5.如图所示,将现有vector对象的范围用作构造函数参数,并将该对象复制到另一个vector对象。

6.如图所示,程序运行结果确实显示为420。

回答2:

if(find(v.begin(), v.end(), val) != v.end()){
//找到
}else{
//没找到
}

val为要找的元素

回答3:

#include      // std::cout
#include // std::find
#include // std::vector
bool IsOdd (int i) {
return ((i%2)==1);
}
int main()
{
int p[] = {0, 1, 2, 3, 4, 5};
std::vector myvector( p, p + 6 );
std::vector::iterator it;
/** @brief find() example */
// iterator to vector element:
it = find( myvector.begin(), myvector.end(), 3 );
if( it != myvector.end() ) // finded
{
std::cout << "The element 3 is found." << '\n';
// now *it is 3. it is a iterator to int.
++it;
std::cout << "The element following 3 is " << *it << '\n';
}
/** @brief find_if() example */
// iterator to vector element matching some condition.
it = std::find_if (myvector.begin(), myvector.end(), IsOdd);
if( it != myvector.end() ) // finded
{
std::cout << "The first odd value is " << *it << '\n';
}
return 0;
}

find(first, last, val) 查找值为val的元素,返回迭代器

http://www.cplusplus.com/reference/algorithm/find/

find_if(first,last, pred) 查找符合某个条件的元素,返回迭代器

http://www.cplusplus.com/reference/algorithm/find_if/