📅  最后修改于: 2023-12-03 14:59:46.148000             🧑  作者: Mango
set
是C++中STL提供的有序容器,它在内部使用红黑树实现,能够高效地支持插入、删除和查找操作。set
类提供了一个名为 find()
的成员函数,用于在集合中查找指定的元素。
set<T>::iterator find(const T& value)
函数参数:要查找的值value
函数返回值:如果找到,返回指向该元素的迭代器,如果没有找到,返回迭代器 set.end()
下面是使用 set.find()
函数的一个简单示例:
#include <iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 2, 3, 4, 5};
// 查找元素3
std::set<int>::iterator it = mySet.find(3);
if (it != mySet.end()) {
std::cout << "元素 3 找到了!" << std::endl;
} else {
std::cout << "元素 3 未找到。" << std::endl;
}
return 0;
}
上述代码中,我们创建了一个包含整数的 set
容器,并使用 find()
函数查找元素3。如果找到了元素,则输出 "元素 3 找到了!",否则输出 "元素 3 未找到。"
set.find()
函数的时间复杂度为 O(log n),其中 n 是 set
中元素的数量。这是因为底层的红黑树实现可以在对数时间内完成查找操作。find()
函数只能用于有序的 set
容器,不能用于无序的 unordered_set
容器。set.count()
函数。该函数返回指定元素在集合中的个数,如果元素存在则返回1,如果不存在则返回0。set.begin()
和 set.end()
来遍历整个 set
容器中的元素。以上就是关于 C++ STL set.find()
函数的介绍。这个函数非常有用,可以帮助你快速查找元素并进行相应的操作。