目录
1.set简介
2.插入数据
3.删除数据
4.其它常用方法
1.set简介
set
是 C++ 标准库中的一个容器,属于关联容器的一种。它是一个有序集合,其中的元素是唯一的,即每个元素只能在集合中出现一次。set
是基于红黑树实现的,这使得插入、删除和查找操作的时间复杂度都是 O(log n)。
2.插入数据
使用insert(i)
set<int> s;
s.insert(1);
s.insert(3);
3.删除数据
使用erase()删除某一个值
set<int> s;
s.insert(1);
s.insert(3);
s.insert(7);
s.insert(5);
s.erase(s.begin()); //通过迭代器删除
s.erase(5); //删除指定值
使用clear()清空所有值
set<int> s;
s.insert(1);
s.insert(3);
s.insert(7);
s.insert(5);
s.clear(); //清空
4.其它常用方法
(1)empty() 判断是否为空
set<int> s;
s.insert(1);
s.insert(3);
s.insert(7);
s.insert(5);
cout<<s.empty(); //不为空,输出0
(2)size() 返回集合中值的个数
set<int> s;
s.insert(1);
s.insert(3);
s.insert(7);
s.insert(5);
cout<<s.size(); //输出4
(3)迭代器
set<int> s;
s.insert(1);
s.insert(3);
s.insert(7);
s.insert(5); //set会默认升序排列
for(set<int>::iterator it=s.begin();it!=s.end();it++) //输出1 3 5 7
{
cout<<*it<<' ';
}
(4)count()计数,因为set中没有重复元素,所以count(n)只能为0或1
set<int> s;
s.insert(1);
s.insert(1);
s.insert(5); //set会默认升序排列
cout<<s.count(1)<<endl; //即使插入两次也只有一个1,输出1
cout<<s.count(2)<<endl; //没有2,输出0
(5)lower_bound(key_value) ,返回第一个大于等于key_value的值; upper_bound(key_value),返回最后一个大于等于key_value的值文章来源:https://www.toymoban.com/news/detail-861278.html
set<int> s;
s.insert(1);
s.insert(1);
s.insert(5); //set会默认升序排列
cout<<*s.lower_bound(1)<<endl; //输出1
cout<<*s.upper_bound(1)<<endl; //输出5
(6)swap() 交换两个set集合文章来源地址https://www.toymoban.com/news/detail-861278.html
set<int> s,s2;
s.insert(1);
s.insert(3);
s.insert(5); //set会默认升序排列
s2.insert(2);
s2.insert(4);
s.swap(s2);
for(set<int>::iterator it=s.begin();it!=s.end();it++) //输出2 4
{
cout<<*it<<' ';
}
cout<<endl;
for(set<int>::iterator it=s2.begin();it!=s2.end();it++) //输出1 3 5
{
cout<<*it<<' ';
}
到了这里,关于c++ set用法详解超详细 适合零基础小白的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!