set容器里find函数的用法
时间: 2023-12-15 11:03:37 浏览: 49
set容器里的find函数可以用来查找一个元素是否存在于set容器中。如果存在,返回该元素的迭代器;如果不存在,则返回set容器的end迭代器(即指向set容器尾端下一个位置的迭代器)。使用方法如下:
```
set<int> s;
s.insert(1);
s.insert(2);
s.insert(3);
set<int>::iterator it = s.find(2);
if(it != s.end()) {
//找到了2这个元素
}
else {
//未找到2这个元素
}
```
注意:set容器中的元素是有序的,find函数查找时也是按照元素大小的顺序进行的。
相关问题
set的find函数的详细用法
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函数进行查找。
unordered_set 里面find的用法
unordered_set 的 find 函数用于在容器中查找指定元素,并返回一个迭代器指向该元素(如果找到)或者指向容器末尾(如果未找到)。
以下是 unordered_set 的 find 函数的用法:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> mySet = {1, 2, 3, 4, 5};
// 查找元素 3
auto iter = mySet.find(3);
if (iter != mySet.end()) {
std::cout << "元素 3 存在于 unordered_set 中" << std::endl;
} else {
std::cout << "元素 3 不存在于 unordered_set 中" << std::endl;
}
return 0;
}
```
在上面的示例中,我们创建了一个 unordered_set,并使用 find 函数查找元素 3。如果找到了元素 3,那么 find 函数返回一个指向该元素的迭代器,我们可以通过与 unordered_set 的 end() 函数返回的迭代器进行比较来判断是否找到了元素。如果找到了,输出 "元素 3 存在于 unordered_set 中";否则输出 "元素 3 不存在于 unordered_set 中"。
需要注意的是,find 函数返回的迭代器是一个常量迭代器,如果需要修改元素的值,可以使用其他方法,如迭代器解引用和 erase 函数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)