Set基本概念
所有元素都会在插入时自动被排序。
set/multist容器属于关联式容器,底层结构属于二叉树。
set不允许容器中有重复的元素,multiset允许容器中有重复的元素。
set构造和赋值
1、set<T> st;
默认构造函数
2、set(const set &st);
拷贝构造函数
3、set& operator=(const set &st);
赋值
void test1() {
set<int> st;
st.insert(10);
st.insert(40);
st.insert(30);
st.insert(1);
st.insert(30);
p(st);
set<int> s2(st);
p(s2);
set<int> s3;
s3= s2;
p(s3);
}
set的大小和交换
1、empty();
判断容器是否为空
2、size();
返回容器中元素的个数
3、swap(st);
交换两个集合容器
void test1() {
...
if (!st.empty()) {
cout << "大小" << st.size()<<endl;
}
set<int> s2;
s2.insert(32);
s2.insert(23);
s2.insert(43);
st.swap(s2);
p(st);
}
set的插入和删除
1、insert(elem);
插入,只有这一种方法
2、clear();
清空所有元素
3、erase(pos);
删除pos位置的元素,返回下一个数据的位置
4、erase(beg,end);
删除迭代器从beg到end之间的元素,返回下一个数据的位置
5、erase(elem);
删除容器中值为elem的元素
void