在vector中查找元素 代码
时间: 2024-03-29 16:40:13 浏览: 15
在 C++ 中,可以使用 STL 中的 `find` 函数来查找一个元素是否存在于 vector 中,示例代码如下:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
int target = 3;
auto iter = std::find(vec.begin(), vec.end(), target);
if (iter != vec.end()) {
std::cout << "Found " << target << " at index " << std::distance(vec.begin(), iter) << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个 vector,然后使用 `std::find` 函数查找元素 3 是否存在于 vector 中。如果找到了,函数会返回指向该元素的迭代器,否则返回 vector 的尾部迭代器。我们可以通过判断迭代器是否等于 vector 的尾部迭代器来确定是否找到了目标元素,并可以使用 `std::distance` 函数计算出该元素在 vector 中的下标。
相关问题
在vector中查找string元素 代码
同样可以使用 `std::find` 函数来查找一个字符串元素是否存在于 vector 中,示例代码如下:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<std::string> vec = {"apple", "banana", "orange", "pear"};
std::string target = "orange";
auto iter = std::find(vec.begin(), vec.end(), target);
if (iter != vec.end()) {
std::cout << "Found " << target << " at index " << std::distance(vec.begin(), iter) << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个存储字符串的 vector,然后使用 `std::find` 函数查找字符串 "orange" 是否存在于 vector 中。如果找到了,函数会返回指向该元素的迭代器,否则返回 vector 的尾部迭代器。我们可以通过判断迭代器是否等于 vector 的尾部迭代器来确定是否找到了目标元素,并可以使用 `std::distance` 函数计算出该元素在 vector 中的下标。
vector中查找某个元素
要在vector中查找某个元素,可以使用find函数。find函数接受两个参数,第一个参数是要查找的元素的起始位置,第二个参数是要查找的元素的结束位置。如果找到了该元素,则返回指向该元素的迭代器;如果未找到,则返回结束位置的迭代器。以下是一个示例代码:
```cpp
vector<int> nums = {1, 2, 3, 4, 5};
int target = 3;
vector<int>::iterator it = find(nums.begin(), nums.end(), target);
if (it != nums.end()) {
cout << "元素 " << target << " 在vector中找到了" << endl;
} else {
cout << "元素 " << target << " 在vector中未找到" << endl;
}
```
此代码将在vector中查找元素3,并输出"元素 3 在vector中找到了"的结果。注意,要使用find函数,需要包含<algorithm>头文件。