集合容器:
- 插入数据的同时,就自动完成了排序。所以也被称为关联式容器。
- 底层是由一个二叉树来实现的。
set和multiset区别:
- set 不允许容器中有重复的元素。
- multiset 允许容器中有重复的元素。
调用时,包含头文件:include<set>
构造函数:
-
set<T> st;//默认构造函数: -
set(const set &st);//拷贝构造函数
赋值操作:
-
set& operator=(const set &st);//重载等号操作符
set容器没有前面的push和pop接口,只有insert接口。
void printSet(const set<int>& s)
{
for (set<int>::const_iterator it = s.begin(); it != s.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
void test01()
{
set<int> s; // 默认构造
s.insert(30);
s.insert(10);
s.insert(40);
s.insert(20);
s.insert(30);
printSet(s);
// 拷贝构造:
set<int> s2(s);
// 赋值
set<int>s3;
s3 = s2;
}
set容器的特点:
- 所有元素插入的时候自动被排序。
- set容器不允许插入重复的值,如果插入了,自动删除。
set容器大小和交换
因为set不允许有重复的值,所以不需要有resize,因为你拓展之后,也没法填充默认值。
函数原型:
-
size();//返回容器中元素的数目
C++中的集合容器set和multiset详解

本文详细介绍了C++中的集合容器set和multiset,包括它们的基本操作、插入删除、查找统计、排序规则以及自定义排序。set不允许重复元素,而multiset允许。插入元素时,set会返回插入结果,multiset则只返回迭代器。同时,通过仿函数可以自定义排序规则。此外,文章还展示了如何使用pair进行数据操作以及如何遍历和打印set容器。
最低0.47元/天 解锁文章
1414

被折叠的 条评论
为什么被折叠?



