vector查找指定元素
时间: 2023-11-26 13:02:35 浏览: 34
要在vector中查找指定元素,可以使用std::find函数。
示例代码如下:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
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 << "元素 " << target << " 找到了! << std::endl;
} else {
std::cout << "元素 " << target << " 未找到!" << std::endl;
}
return 0;
}
```
输出结果:
```
元素 3 找到了!```
相关问题
查找删除vector容器中指定元素
要删除vector容器中的指定元素,你可以使用标准库中的erase-remove惯用法。这个方法结合了erase()函数和remove()算法,可以高效地删除指定元素。
下面是一个示例代码,演示如何删除vector容器中的指定元素:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5, 3, 6, 7, 3};
// 要删除的元素
int target = 3;
// 使用erase-remove惯用法删除指定元素
vec.erase(std::remove(vec.begin(), vec.end(), target), vec.end());
// 打印删除后的vector
for (auto num : vec) {
std::cout << num << " ";
}
return 0;
}
```
在上面的示例中,我们先定义一个包含一些整数的vector容器。然后指定要删除的目标元素为3。接下来,我们使用erase-remove惯用法来删除指定元素。最后,我们遍历并打印删除后的vector。
运行上述代码,将输出:1 2 4 5 6 7,即成功删除了所有值为3的元素。
请注意,这种方法适用于删除单个元素或多个相同值的元素。如果你想要删除满足某个条件的元素,则可以使用更复杂的谓词函数。此外,如果你需要删除多个不同值的元素,也可以多次调用erase-remove惯用法来处理。
vector容器怎么查找元素
要在vector容器中查找元素,可以使用find函数。在C++中,可以使用<algorithm>头文件中的find函数。首先,需要包含<vector>和<algorithm>头文件。然后,创建一个vector对象,并使用push_back函数将元素添加到vector中。接下来,使用vector的begin()和end()函数作为find函数的参数,以指定要查找的范围。最后,将find函数的返回值与vector的end()函数返回的迭代器进行比较,如果相等则表示未找到元素,否则表示找到了元素。下面是一个示例代码:
```cpp
#include <vector>
#include <algorithm>
#include <iostream>
int main() {
using namespace std;
vector<int> L;
L.push_back(1);
L.push_back(2);
L.push_back(3);
L.push_back(4);
L.push_back(5);
vector<int>::iterator result = find(L.begin(), L.end(), 3);
if (result == L.end()) {
cout << "No" << endl;
} else {
cout << "Yes" << endl;
}
}
```
在上面的示例中,我们首先创建了一个vector对象L,并使用push_back函数向其添加了一些元素。然后,使用find函数在L的范围内查找值为3的元素。如果找到了3,将返回指向该元素的迭代器,否则返回end()迭代器。最后,根据find函数的返回值与end()迭代器进行比较,输出相应的结果。在这个示例中,我们会输出"Yes",表示找到了元素3。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [vector中的find](https://blog.csdn.net/huangyimin/article/details/6133650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]