| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> STL中set容器的简单使用笔记 -> 正文阅读 |
|
[系统运维]STL中set容器的简单使用笔记 |
**头文件**#include<set>(使用万能头文件include<bits/stdc++>的除外)。 简单的特点: ???????1.在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序(默认从小到大) ? ? ? ?2.set中数元素的值不能直接被改变 ? ? ? ?3.set中数元素的值不能直接被改变 ? ? ? ?4.当对容器中的元素进行插入或者删除时,操作之前的所有迭代器在操作之后依然有效。 ? ? ? ? 5.set容器内所有元素都是以节点的方式来存储,其节点结构和链表差不多,指向父节点和子节点。 定义一个容器;
例如:定义一个整型的set容器叫做s,直接set<int> 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容器中的所有的元素
例如:将刚才定义的s清空,则为:s.clear()即可。 empty() ,判断set容器是否为空
例如:判断s是否为空,只需 if(s.empty())? 即可,判断是否非空,只需if (!s.empty())。 size() ,返回当前set容器中的元素个数 ??? ?例如:询问s的大小,只需 printf("%d\n",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里面加上一个数。
例如:往刚定义的s里面放个8,那么直接:s.insert(8)即可。 列子
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 18:56:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |