📅  最后修改于: 2023-12-03 15:12:22.484000             🧑  作者: Mango
在C++ STL中,有一个通用的find()函数,可以在序列容器中查找特定元素,并返回该元素在容器中的位置迭代器。使用该函数需要包含头文件
template<typename ForwardIterator, typename T>
ForwardIterator find(ForwardIterator first, ForwardIterator last, const T& value);
参数说明:
first
:容器中要查找的区间的起始位置last
:容器中要查找的区间的结束位置value
:要查找的元素值返回值:如果查找成功,返回指向该元素位置的迭代器;如果查找失败,返回 last
迭代器。
下面的示例演示如何使用 find()
函数在 vector 容器中查找指定元素,并输出它的位置。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v = { 2, 4, 6, 8, 10 };
int x = 6;
vector<int>::iterator it = find(v.begin(), v.end(), x);
if (it != v.end()) {
cout << "元素 " << x << " 找到了,位置是:" << (it - v.begin()) << endl;
}
else {
cout << "元素 " << x << " 没有找到" << endl;
}
return 0;
}
程序输出:
元素 6 找到了,位置是:2
find()
函数可以用于所有的序列容器,如 vector、list、deque、array 等find()
函数是一个通用的查找算法,可以查找任何可以比较的元素(已重载 operator ==
)