c++中vector查找指定元素
时间: 2024-10-12 13:06:15 浏览: 13
在 C++ 中,`std::vector` 是一个动态数组,可以存储同类型的元素并提供高效的操作。如果你想查找 `vector` 中的某个特定元素,你可以使用迭代器或者成员函数 `find()`。
1. **迭代器法**:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
int target = 3;
auto it = std::find(vec.begin(), vec.end(), target);
if (it != vec.end()) {
// 找到了目标元素
std::cout << "Element found at index: " << std::distance(vec.begin(), it) << '\n';
} else {
// 没有找到
std::cout << "Element not found.\n";
}
```
2. **`find()` 函数**:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
int target = 3;
size_t index = vec.find(target);
if (index != std::vector<int>::npos) {
// 找到了目标元素
std::cout << "Element found at index: " << index << '\n';
} else {
// 没有找到
std::cout << "Element not found.\n";
}
```
如果找到了目标元素,`find()` 返回该元素的迭代器;如果没有找到,则返回 `std::vector<int>::npos`。