栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

STL中set容器的简单使用笔记

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STL中set容器的简单使用笔记

**头文件**#include(使用万能头文件include的除外)。

简单的特点:

       1.在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序(默认从小到大)

       2.set中数元素的值不能直接被改变

       3.set中数元素的值不能直接被改变

       4.当对容器中的元素进行插入或者删除时,操作之前的所有迭代器在操作之后依然有效。

        5.set容器内所有元素都是以节点的方式来存储,其节点结构和链表差不多,指向父节点和子节点。

定义一个容器;

  • 1:using namespace std;
  • 2:直接set<成员类型>成员名

例如:定义一个整型的set容器叫做s,直接set s就行了。

set中常用的方法  :

erase(it)                 删除迭代器指针it处元素

        s.erase(s.begin()) 删除s.begin()的元素

begin()        ,返回set容器的第一个元素的地址(想返回值注意加*)

        s.begin() 或  *s.begin() 即可

end()      ,返回set容器的最后一个元素的地址(想返回值注意加*)

         s.end()  或 *s.end()即可

clear()          ,删除set容器中的所有的元素

  • step1:将你的set容器清空。

例如:将刚才定义的s清空,则为:s.clear()即可。

empty()    ,判断set容器是否为空

  • step1:判断你的容器是否为空。

例如:判断s是否为空,只需 if(s.empty())  即可,判断是否非空,只需if (!s.empty())。

size()      ,返回当前set容器中的元素个数

     例如:询问s的大小,只需 printf("%dn",s.size())即可。

特别的,size返回的是非重复元素,而不是所有元素。

例如:

s里面有{1 2 3 4 5 6 7 8} 8个元素,那么他的返回值是8;

s里面有{1 1 1 1 1 1 1 1} 8个元素,那么他的返回值是1;

s里面有{1 1 1 2 2 2  2  8} 8个元素,那么他的返回值是3。

insert()              ,向容器中插入一个元素

    作用:往你定义的set里面加上一个数。

  • step1:定义一个辅助变量tmp;
  • step2:输入tmp;
  • step3:将tmp放进你定义的set容器里面。

例如:往刚定义的s里面放个8,那么直接:s.insert(8)即可。

列子
#include
#include
using namespace std;
int main() {
	sets;
	int a[105], n;
	cin >> n;//输入的袁术的个数
	for (int i = 0; i < n; i++) {
		cin >> a[i];
		s.insert(a[i]);
	}
	cout << s.size() << endl;
	while (!s.empty()) {
		cout << *s.begin() << 't';
		s.erase(s.begin());
	}
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号