vector有find函数嘛
时间: 2024-03-09 17:46:38 浏览: 70
是的,C++ 中的 vector 容器也提供了 find() 函数来查找指定元素在容器中的位置。
find() 函数的语法如下:
```
iterator find (const value_type& val);
const_iterator find (const value_type& val) const;
```
其中,value_type 表示 vector 容器中存储的元素类型。函数会返回一个迭代器,指向第一个等于 val 值的元素位置。如果找不到,则返回指向容器尾部的迭代器。
以下是一个示例代码:
```
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 查找元素 3
auto it = vec.find(3);
if (it != vec.end()) {
std::cout << "元素 3 存在于 vec 中,位置为 " << std::distance(vec.begin(), it) << std::endl;
} else {
std::cout << "元素 3 不存在于 vec 中" << std::endl;
}
// 查找元素 6
it = vec.find(6);
if (it != vec.end()) {
std::cout << "元素 6 存在于 vec 中,位置为 " << std::distance(vec.begin(), it) << std::endl;
} else {
std::cout << "元素 6 不存在于 vec 中" << std::endl;
}
return 0;
}
```
输出结果为:
```
元素 3 存在于 vec 中,位置为 2
元素 6 不存在于 vec 中
```
需要注意的是,如果 vector 中有多个相同的元素,find() 函数只会返回第一个匹配的元素位置。如果需要查找所有匹配的元素位置,需要自己编写循环来实现。
阅读全文