前言

使用集合框架不仅能提高我们的代码开发效率,也能让我们在竞赛解题中如鱼得水。作为STL库中的一种常见容器,set能保证存入的数据是唯一的。为了能够更好的理解set容器,本文对set容器及其常见操作做了简单介绍。

提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是set容器?

set容器是C++ 标准库里的一种集合框架,能保证输入其中的元素是独一无二的。

二、set容器的特征

set容器是一种实现了平衡二叉检索树的数据结构,因此set中的元素是有序的。

set容器的特征如下

特征解释
互异性set容器中没有重复的元素
有序性set容器中的元素是有序排列的

三、set容器的常见操作

set容器的常见操作如下

操作功能
insert(x)将元素x插入到set容器中
erase(x)将元素x从set容器中删除
clear()删除set容器中的所有元素
size()返回set容器中当前元素的个数
begin()返回set容器中第一个元素的地址
end()返回set容器中最后一个元素的地址

四、使用步骤

1.引入头文件

代码如下(示例):

#include<set> 
using namespace std;

2.set容器的定义

set<T> name; //定义的标准方式
T:容器的类型 如int,char
name:容器的名字

代码如下(示例):

set<int> s;//创建一个int类型的容器
set<char> sc;//创建一个char类型的容器

3.set的插入和删除

代码如下(示例):

set<int> s;
set<char> sc;
sc.insert('a');
s.insert(100);//插入元素100
s.insert(2);
s.insert(1);
s.insert(3);
s.erase(3);//删除元素3

4.set的遍历

set的遍历使用到iterator迭代子

代码如下(示例):

set<int> s;
s.insert(100);
s.insert(2);
s.insert(1);
s.insert(3);
s.erase(3);//删除元素3
set<int>::iterator it;//创建一个迭代子it
for(it=s.begin();it!=s.end();it++){
printf("%d\n",*it);//打印set中的元素

运行结果如下:
运行结果
从打印结果可以看出,set集合中的元素是有序的。

5.set.size()

size()用于返回set容器当前的元素个数

set<int> s;
s.insert(100);
s.insert(2);
s.insert(1);
s.insert(3);
printf("删除元素3前:%d\n",s.size());
s.erase(3);//删除元素3
printf("删除元素3后:%d\n",s.size());
set<int>::iterator it;//创建一个迭代子it
for(it=s.begin();it!=s.end();it++){
printf("%d\n",*it);//打印set中的元素

总结

以上就是今天要讲的内容,对set容器及其常见操作进行了简单的介绍,活用集合框架能够极大的提高我们的开发效率和解题速度。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐