std::set的empty
时间: 2023-12-06 11:57:11 浏览: 16
方法用于判断set容器是否为空,如果为空返回true,否则返回false。
示例:
```c++
#include <iostream>
#include <set>
int main()
{
std::set<int> mySet;
if(mySet.empty())
{
std::cout << "Set is empty." << std::endl;
}
else
{
std::cout << "Set is not empty." << std::endl;
}
mySet.insert(1);
if(mySet.empty())
{
std::cout << "Set is empty." << std::endl;
}
else
{
std::cout << "Set is not empty." << std::endl;
}
return 0;
}
```
输出:
```
Set is empty.
Set is not empty.
```
相关问题
std::unordered_set 详解
std::unordered_set是C++ STL中的一个关联容器,它是一个无序的集合,其中的元素没有按照特定的顺序进行排列。std::unordered_set可以存储各种类型的元素,并且每个元素都是唯一的。它的内部实现是使用哈希表来存储元素,因此可以通过键值直接快速访问各个元素。
使用std::unordered_set时,需要提供一个哈希函数,用于计算元素的哈希值。默认情况下,std::unordered_set使用std::hash作为哈希函数,但也可以自定义哈希函数。同时,还需要提供一个相等比较函数,用于比较两个元素是否相等,默认情况下,std::unordered_set使用std::equal_to进行相等比较。
std::unordered_set提供了以下成员函数:
- insert:向集合中插入一个元素。
- erase:从集合中删除一个元素。
- size:返回集合中元素的个数。
- empty:判断集合是否为空。
- find:查找集合中是否存在某个元素。
- clear:清空集合中的所有元素。
使用std::unordered_set时,需要包含头文件<unordered_set>。
std::set的成员函数
std::set 是 C++ STL 中的一个容器类,它是一个有序集合,其中不允许有重复的元素。下面是 std::set 的一些常用成员函数:
1. 构造函数:
- `set()`:默认构造函数,创建一个空的 set。
- `set(InputIterator first, InputIterator last)`:使用指定范围内的元素创建 set。
2. 迭代器相关:
- `begin()`:返回指向第一个元素的迭代器。
- `end()`:返回指向最后一个元素之后位置的迭代器。
- `rbegin()`:返回指向最后一个元素的反向迭代器。
- `rend()`:返回指向第一个元素之前位置的反向迭代器。
3. 容量相关:
- `empty()`:判断 set 是否为空,如果为空则返回 true,否则返回 false。
- `size()`:返回 set 中元素的个数。
- `max_size()`:返回 set 可以容纳的最大元素数量。
4. 插入和删除操作:
- `insert(const value_type& val)`:在 set 中插入一个元素。
- `erase(iterator position)`:删除指定位置的元素。
- `erase(const value_type& val)`:删除指定值的元素。
- `clear()`:清空 set 中的所有元素。
5. 查找和计数操作:
- `find(const value_type& val)`:查找指定值的元素,并返回其迭代器。如果未找到,则返回 set 的末尾迭代器。
- `count(const value_type& val)`:返回 set 中等于指定值的元素个数。
6. 其他操作:
- `swap(set& x)`:交换两个 set 容器的内容。
以上只是 std::set 的一部分成员函数,还有其他一些成员函数可供使用。如果你需要了解更多详细信息,建议查阅 C++ STL 的官方文档或相关教程。