C++ 的 set
容器是一种关联式容器,它包含一组唯一的对象。以下是 set
容器的一些常用操作:
插入元素:使用 insert()
方法将元素插入到 set
中。例如:
std::set<int> my_set;
my_set.insert(10);
my_set.insert(20);
my_set.insert(30);
删除元素:使用 erase()
方法从 set
中删除元素。例如:
my_set.erase(20);
查找元素:使用 find()
方法查找 set
中的元素。如果找到了元素,则返回指向该元素的迭代器;否则返回指向 set
中的尾部元素的迭代器。例如:
auto it = my_set.find(20);
if (it != my_set.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
遍历元素:使用迭代器遍历 set
中的所有元素。例如:
for (auto it = my_set.begin(); it != my_set.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
检查元素是否存在:使用 count()
方法检查 set
中是否存在指定元素。如果存在,则返回 1;否则返回 0。例如:
if (my_set.count(20) > 0) {
std::cout << "20 exists in the set" << std::endl;
} else {
std::cout << "20 does not exist in the set" << std::endl;
}
获取集合大小:使用 size()
方法获取 set
中元素的数量。例如:
std::cout << "Set size: " << my_set.size() << std::endl;
清空集合:使用 clear()
方法清空 set
中的所有元素。例如:
my_set.clear();
检查是否为空:使用 empty()
方法检查 set
是否为空。如果为空,则返回 true
;否则返回 false
。例如:
if (my_set.empty()) {
std::cout << "Set is empty" << std::endl;
} else {
std::cout << "Set is not empty" << std::endl;
}