c++之find()函数


c++之find()函数

在数组或者向量中,找到一个数,返回它的下标

#include <iostream>     // std::cout
#include <algorithm>    // std::find
#include <vector>       // std::vector

int main () {
  // using std::find with array and pointer:
  int myints[] = { 10, 20, 30, 40 };
  int * p;

  p = std::find (myints, myints+4, 30);
  if (p != myints+4)
    std::cout << "Element found in myints: " << *p << '\n';
  else
    std::cout << "Element not found in myints\n";

  // using std::find with vector and iterator:
  std::vector<int> myvector (myints,myints+4);
  std::vector<int>::iterator it;

  it = find (myvector.begin(), myvector.end(), 30);
  if (it != myvector.end())
    std::cout << "Element found in myvector: " << *it << "  " << it - myvector.begin() << '\n';
  else
    std::cout << "Element not found in myvector\n";

  return 0;
}

备注:需要注意的确定搜索范围时,头部是name, 尾部为name+nums, 不是name + num - 1, 以前在使用std::max()函数时就犯过这样的错误。
疑问:是否存在函数可以指定查找的方向,有时候我希望从尾部开始查找。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM