C++ STL中的set容器用法
时间: 2023-05-27 09:02:41 浏览: 219
STL中的set容器是一种集合,它可以存储一组元素,并确保它们按照一定的次序排列。set容器可以存储各种类型的数据,包括基本数据类型、结构体、类对象等。
set容器的用法如下:
1. 导入头文件
#include <set>
2. 定义set容器
set<data_type> s;
3. 插入元素
s.insert(value);
其中,data_type表示set容器中存储的数据类型,value表示要插入的元素。
4. 遍历set容器中的元素
可以使用迭代器来遍历set容器中的元素:
for(auto it = s.begin(); it != s.end(); ++it)
{
// do something
}
其中,auto关键字是C++11中引入的,它可以自动推导迭代器类型。
5. 删除元素
可以使用erase()函数删除set容器中的元素:
s.erase(value);
其中,value表示要删除的元素。
6. 查询元素
可以使用find()函数在set容器中查找元素:
auto it = s.find(value);
如果元素存在,返回一个指向该元素的迭代器;如果不存在,返回set容器的end迭代器。
总之,set容器在C++ STL中是一种非常有用的容器,它可以帮助我们快速存储和管理一组元素,并支持快速的插入、删除和查询操作。
相关问题
c++ stl库中set用法
C++ STL库中的set是一个集合容器,其中的元素是唯一的,即相同的元素只会出现一次。set是按照一定的顺序排列的,通常默认情况下是升序排列。set可以进行快速的查找、插入和删除操作,时间复杂度为O(log n)。
以下是set的常用操作:
1. 插入元素:使用insert()函数,可以插入单个元素或一组元素。
2. 删除元素:使用erase()函数,可以删除单个元素、指定位置的元素或一个范围内的元素。
3. 查找元素:使用find()函数,可以查找指定元素是否存在于set中。
4. 获取set中元素个数:使用size()函数。
5. 判断set是否为空:使用empty()函数。
以下是一些set的常见用法:
```
#include <iostream>
#include <set>
using namespace std;
int main()
{
// 创建一个set
set<int> mySet;
// 插入元素
mySet.insert(3);
mySet.insert(1);
mySet.insert(4);
mySet.insert(2);
mySet.insert(5);
// 遍历set中的所有元素
for (auto it = mySet.begin(); it != mySet.end(); it++) {
cout << *it << " ";
}
cout << endl;
// 查找元素
if (mySet.find(4) != mySet.end()) {
cout << "4 is found." << endl;
}
else {
cout << "4 is not found." << endl;
}
// 删除元素
mySet.erase(4);
// 遍历set中的所有元素
for (auto it = mySet.begin(); it != mySet.end(); it++) {
cout << *it << " ";
}
cout << endl;
// 获取set中元素个数
cout << "The size of set is " << mySet.size() << endl;
// 判断set是否为空
if (mySet.empty()) {
cout << "The set is empty." << endl;
}
else {
cout << "The set is not empty." << endl;
}
return 0;
}
```
c++stl容器的指令
C++的STL(标准模板库)提供了多种容器,每个容器都有一组相应的指令。以下是一些常见的STL容器及其指令:
1. vector(向量):
- push_back:在尾部插入元素
- pop_back:删除尾部元素
- size:返回容器中元素的个数
- empty:检查容器是否为空
- at:访问指定位置的元素
2. list(链表):
- push_back:在尾部插入元素
- push_front:在头部插入元素
- pop_back:删除尾部元素
- pop_front:删除头部元素
- size:返回容器中元素的个数
3. deque(双端队列):
- push_back:在尾部插入元素
- push_front:在头部插入元素
- pop_back:删除尾部元素
- pop_front:删除头部元素
- size:返回容器中元素的个数
4. map(映射):
- insert:插入键值对
- erase:删除指定键的元素
- find:查找指定键的元素
- size:返回容器中键值对的个数
5. set(集合):
- insert:插入元素
- erase:删除指定元素
- find:查找指定元素
- size:返回容器中元素的个数
这只是其中一些常用容器的指令,STL还包含其他容器和相关指令。具体使用方法可以参考相关的C++ STL文档和教程。
阅读全文