C++ find()函数用法详解
C++ 提供了一系列的标准模板库(STL)函数,用于对容器执行各种操作,其中就包括本节要讲的 find() 函数。
find() 函数是一个非常实用的工具,定义在
使用 find() 函数很简单,只需要指定要搜索的范围和要查找的值即可,语法格式如下:
如果找到元素,find() 函数返回指向该元素的迭代器,否则返回指向范围结尾的迭代器。
需要注意的是,使用 find() 函数时,搜索范围内的数据必须能使用
【实例】下面的 C++ 程序演示了 find() 函数的功能和用法。
find() 函数是一个非常实用的工具,定义在
<algorithm>头文件中,用于在支持迭代器的容器内查找目标元素,例如 std::vector、std::list、std::array、std::string 等。使用 find() 函数很简单,只需要指定要搜索的范围和要查找的值即可,语法格式如下:
iterator find (iterator first, iterator last, const T& value);
-
first 和 last:指定要搜索的范围
[first, last); - value:要查找的目标元素。
如果找到元素,find() 函数返回指向该元素的迭代器,否则返回指向范围结尾的迭代器。
需要注意的是,使用 find() 函数时,搜索范围内的数据必须能使用
==等号运算符做比较。此外,find() 函数使用的是线性查找,所以时间复杂度是O(n)。【实例】下面的 C++ 程序演示了 find() 函数的功能和用法。
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> data = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int target = 5;
auto it = std::find(data.begin(), data.end(), target);
if (it != data.end()) {
std::cout << "Found " << target << " at position " << std::distance(data.begin(), it) << std::endl;
} else {
std::cout << target << " not found in the data." << std::endl;
}
return 0;
}
执行结果为:
Found 5 at position 4
ICP备案:
公安联网备案: