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

sruct student
{
}
vector<student>stu;
添加数组给
vector<student>stu;
{
stu.push_back()
}

现在的问题就是 我想查询添加在vector<student>stu;里面的数组啊,怎么写啊?看了很多关于用find的 不会用啊

如下参考:

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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-02
if(find(v.begin(), v.end(), val) != v.end()){
//找到
}else{
//没找到
}

val为要找的元素

本回答被提问者采纳
第2个回答  2013-04-18
#include <iostream> // std::cout
#include <algorithm> // std::find
#include <vector> // std::vector
bool IsOdd (int i) {
return ((i%2)==1);
}
int main()
{
int p[] = {0, 1, 2, 3, 4, 5};
std::vector<int> myvector( p, p + 6 );
std::vector<int>::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/

相似回答