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()函數時就犯過這樣的錯誤。
疑問:是否存在函數可以指定查找的方向,有時候我希望從尾部開始查找。