vector中的find函数
时间: 2023-09-21 19:10:35 浏览: 195
在C++中,vector类提供了find()函数,用于查找vector中的特定元素。find()函数接受两个参数:要查找的元素和起始位置。如果找到该元素,则返回该元素的迭代器,否则返回vector的末尾迭代器。示例代码如下:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
auto it = find(vec.begin(), vec.end(), 3);
if (it != vec.end())
cout << "Found " << *it << endl;
else
cout << "Not found" << endl;
return 0;
}
```
在上面的示例代码中,我们使用了find()函数在vector中查找元素3。如果找到该元素,则输出“Found 3”,否则输出“Not found”。
相关问题
vector中find函数用法
vector中的find函数用于在vector中查找特定的元素。该函数返回一个迭代器,指向第一个匹配到的元素,如果未找到则返回指向vector尾部的迭代器。以下是find函数在vector中的用法示例:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> arr;
arr.push_back(1);
arr.push_back(5);
arr.push_back(12);
arr.push_back(7);
arr.push_back(6);
arr.push_back(4);
// 输出一下vector
for (int i = 0; i < arr.size(); i++) {
std::cout << arr[i << " ";
}
std::cout << std::endl;
// 使用find()对vector进行查找
std::vector<int>::iterator it;
it = std::find(arr.begin(), arr.end(), 7);
if (it != arr.end()) {
// 若返回的迭代器不指向end,说明查到了元素
std::cout << "输出查到的元素:" << *it << std::endl;
std::cout << "输出查到的元素的下标:" << it - arr.begin();
} else {
std::cout << "查找失败";
}
return 0;
}
```
在上述代码中,首先我们定义了一个vector并向其中添加了一些元素。然后,我们通过使用find函数在vector中查找值为7的元素,并将返回的迭代器存储在it变量中。如果找到了匹配的元素,我们将输出它的值和下标;否则,我们将输出"查找失败"。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++ find()函数对vector的查找](https://blog.csdn.net/weixin_46585382/article/details/125218996)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [C++在成员函数中使用STL的find_if函数实例](https://download.csdn.net/download/weixin_38590355/14913800)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [C++ find函数详解](https://blog.csdn.net/weixin_46585382/article/details/125218856)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
vector的find函数
引用和中提到,vector本身是没有find函数的,它是依靠algorithm库中的find函数来实现查找功能。使用find函数需要包含algorithm头文件,然后通过vector的begin()和end()方法来指定查找范围。如果find函数返回的迭代器指向了end(),表示在指定范围内没有找到目标元素;如果返回的迭代器指向了其他位置,表示找到了目标元素的位置。中的代码示例展示了如何使用find函数进行查找。首先定义一个vector,并向其中添加元素。然后使用find函数查找特定元素的位置,并将返回的迭代器与end()进行比较,以确定是否找到目标元素。如果迭代器等于end(),表示没有找到;如果不等于end(),表示找到了目标元素。根据结果可以输出相应的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [(c++)vector——find方法的使用](https://blog.csdn.net/LosGod/article/details/121181649)[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: 33.333333333333336%"]
- *2* [C++中vector使用find函数查找struct结构体内容](https://blog.csdn.net/qq_34039018/article/details/100077763)[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: 33.333333333333336%"]
- *3* [vector的find用法](https://blog.csdn.net/wcxyky/article/details/88543873)[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: 33.333333333333336%"]
[ .reference_list ]
阅读全文