c++vector中find的用法
时间: 2024-03-05 19:46:44 浏览: 555
在C++中,vector是一种动态数组容器,可以存储不同类型的元素。而find函数是vector容器提供的一个成员函数,用于在容器中查找指定元素的位置。
find函数的用法如下:
```cpp
iterator find (const T& val);
```
其中,T代表vector中元素的类型,val代表要查找的元素的值。该函数返回一个迭代器,指向第一个匹配到的元素位置。如果没有找到匹配的元素,则返回指向容器末尾的迭代器。
下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 查找元素3的位置
auto it = std::find(vec.begin(), vec.end(), 3);
if (it != vec.end()) {
std::cout << "元素3的位置是:" << std::distance(vec.begin(), it) << std::endl;
} else {
std::cout << "未找到元素3" << std::endl;
}
return 0;
}
```
输出结果为:
```
元素3的位置是:2
```
相关问题
c++ vector的find用法
在C++中,vector本身是没有find这一方法的,但是可以通过algorithm库中的find函数来实现。具体用法如下:
1.包含头文件#include<algorithm>和#include<vector>。
2.定义一个vector容器,并向其中添加元素。
3.使用find函数查找vector中是否存在某个元素,find函数的参数包括要查找的范围(一般是vector的begin和end迭代器)和要查找的元素。
4.如果查找成功,find函数会返回指向该元素的迭代器,否则返回vector的end迭代器。
下面是一个示例代码:
```
#include<iostream>
#include<algorithm>
#include<vector>
int main() {
using namespace std;
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
vec.push_back(6);
vector<int>::iterator it = find(vec.begin(), vec.end(), 6);
if (it != vec.end())
cout<<*it<<endl;
else
cout<<"can not find"<<endl;
return 0;
}
```
以上代码会在vector中查找元素6,如果找到了就输出该元素,否则输出“can not find”。
c++ vector的find函数用法
C++ 的 vector 类型提供了 find() 函数,用于在 vector 中查找指定元素。
find() 函数的语法如下:
```
iterator find (iterator first, iterator last, const T& val);
```
其中,first 和 last 是表示要查找的元素所在的范围的迭代器,val 是要查找的元素。
如果找到了指定元素,则函数返回该元素的迭代器;否则,函数返回 last 迭代器。
下面是一个示例:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> vec {1, 2, 3, 4, 5};
// 查找元素 3 是否在 vector 中
auto it = find(vec.begin(), vec.end(), 3);
if (it != vec.end()) {
cout << "元素 3 在 vector 中" << endl;
} else {
cout << "元素 3 不在 vector 中" << endl;
}
return 0;
}
```
输出结果为:
```
元素 3 在 vector 中
```
阅读全文