功能

vector 中查找与 val 相匹配的值,在 vector 中有多值与之匹配时,只返回第一个匹配值的 Iterator

使用

  1. 注意范围是左闭右开 。** ** [ first , last )
  2. 传入三个参数
    • first 上限
    • last 下限
    • val 匹配值
  3. 函数会返回,查到的数的迭代器指针
    1. InputIterator find (InputIterator first, InputIterator last, const T& val);

    代码列子说明

    备注:
    std :: distance ( v.begin(), iter ) 其值为 iter - v.begin() 的物理地址差
    1. #include <iostream>
    2. #include <vector>
    3. #include <algorithm>
    4. using namespace std;
    5. int main(){
    6. vector< int > v;
    7. int num_to_find=25; //要查找的元素
    8. for ( int i=0;i<10;i++)
    9. v.push_back(i*i);
    10. vector< int >::iterator iter=std::find(v.begin(),v.end(),num_to_find); //返回的是一个迭代器指针
    11. if (iter==v.end())
    12. cout<< "ERROR!" <<endl;
    13. else//注意迭代器指针输出元素的方式和distance用法
    14. cout<< "index of value " <<(*iter)<< " is " << std::distance(v.begin(), iter)<<endl;
    15. //输出结果:the index of value 25 is 5
    16. return 0;
    17. }