set的find函数的详细用法
时间: 2023-09-10 07:11:25 浏览: 132
set是C++ STL(标准模板库)中的一个容器,它是一种关联式容器,用于存储一组各不相同的元素,并且这些元素按照一定的顺序排列,比如从小到大或从大到小。
set中的find函数用于查找set中是否存在指定的元素。其函数原型如下:
```c++
iterator find (const value_type& val);
```
其中,value_type代表set容器中存储的元素类型,而val表示要查找的元素。
该函数返回一个迭代器,如果找到了指定元素,则指向该元素的迭代器;如果没找到,则返回一个指向set中end()的迭代器。
下面是一个示例代码,用于演示set的find函数的用法:
```c++
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> myset = { 1, 3, 5, 7, 9 };
auto it = myset.find(5); // 查找元素5
if (it != myset.end()) // 判断是否找到了元素5
cout << "Element found in set: " << *it << endl;
else
cout << "Element not found in set" << endl;
return 0;
}
```
输出结果为:
```
Element found in set: 5
```
在上述代码中,我们创建了一个set对象myset,并将其初始化为{ 1, 3, 5, 7, 9 }。然后,我们使用set的find函数查找元素5,并将返回的迭代器保存在变量it中。
接着,我们判断it是否等于myset.end(),如果不等于,则说明找到了元素5,输出该元素的值;否则,说明没有找到该元素,输出提示信息。
需要注意的是,set中的元素是按照一定的顺序排列的,因此find函数也是按照顺序查找元素的。如果set中的元素是无序的,则可以使用unordered_set容器,并使用其find函数进行查找。
阅读全文