首页 > 编程笔记
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