c++ set用法详解超详细 适合零基础小白

这篇具有很好参考价值的文章主要介绍了c++ set用法详解超详细 适合零基础小白。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

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的值

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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 适合小白学习的GAN(生成对抗网络)算法超详细解读

    “GANs are \\\'the coolest idea in deep learning in the last 20 years.\\\' ” --Yann LeCunn, Facebook’s AI chief   今天我们就来认识一下这个传说中被誉为过去20年来深度学习中最酷的想法——GAN。  GAN之父的主页: http://www.iangoodfellow.com/  GAN论文地址: https://arxiv.org/pdf/1406.2661.pdf 目录 前言  📢一、

    2024年02月02日
    浏览(47)
  • 安装pytorch+配置pycharm解释器(超级详细适合小白)

    创建pytorch虚拟环境(GPU版本) 1.进入anaconda的终端窗口 2.查看虚拟环境 3.创建虚拟环境 注:可以先换源,否则后面下载很慢,换源可以参考其他博客,这里不在赘述 4.创建完成之后,进入虚拟环境 5.进入pytorch官网,找到自己电脑可以接受的配置,复制安装指令 官网:https:

    2024年02月14日
    浏览(59)
  • 详解如何使用VSCode搭建TypeScript环境(适合小白)

    因为TypeScript不能直接在浏览器上运行。它需要编译器来编译并生成JavaScript文件。所以需要首先安装好javascript环境,可以参考文章: 详解如何使用VS code搭建JavaScript环境(适合小白)_vscode配置javascript环境-CSDN博客 执行下面命令进行安装 npm install -g typescript 安装完成后我们就

    2024年02月04日
    浏览(57)
  • springboot最全,最完整,最适合小白教程(基础篇)

    本文章为黑马的springboot教程的教学文档,具体视频内容移步至bilibili 黑马程序员官方账号 教程分为基础篇,运维实用篇,开发实用篇,原理篇 基础篇:springboot 基础篇 运维实用篇 :springboot 运维实用篇 开发实用篇:springboot 开发实用篇 原理篇:springboot 原理篇 文档更新日志

    2024年01月21日
    浏览(36)
  • 详解Skywalking 服务Overview页面的参数含义(适合小白)

    本文针对刚刚接触skywalking的同学,重点讲解服务Overview页面中各个参数的含义,为大家快速上手skywalking会起到帮助作用! Service Apdex(数字):当前服务的评分 Successful Rate(数字):请求成功率 Service Load (calls / min) 数字: 每分钟访问次数 Service Avg Response Times(ms):平均响应延

    2024年01月15日
    浏览(60)
  • C++ vector的常见用法详解(超详细)\(^o^)/~

    vector ,也叫“变长数组”,即 长度根据需要改变 的数组。在算法竞赛中有十分广泛的使用~ 目录 1、vector的定义 2、vector常用初始化方法 1、使用花括号直接赋值: 2、使用圆括号赋值: 3、vector容器内元素的访问 1、通过下标访问: 2、通过迭代器来访问: 4、vector常用函数实

    2024年02月05日
    浏览(40)
  • 图像隐写综述(适合小白入门,涉及基础知识、评价指标与前沿算法)

    创作不易,点赞收藏,谢谢!如有交流需要,请关注微信公众号“笔名二十七画生”。 分享有趣知识的公众号 1.图像隐写基础知识 信息保护主要有两种手段: 1.加密技术,是直接对要保护的数据进行数学变换,并使得未授权方无法读取交换的秘密信息。 2.信息隐藏技术,则是将

    2024年02月21日
    浏览(56)
  • GitHub新手用法详解【适合新手入门-建议收藏!!!】

    目录 什么是Github,为什么使用它? 一、GitHub账号的注册与登录 二、 gitbash安装详解 1.git bash的下载与安装 2.git常用命令  3. Git 和 GitHub 的绑定 1. 获取SSH keys  2.绑定ssh密钥 三、通过Git将代码提交到GitHub 1.克隆仓库   2.测试提交代码         GitHub是一个面向开源及私有软件项

    2023年04月24日
    浏览(63)
  • 在pycharm中使用Git上传代码到Gitee/GitHub(适合新手小白的超级详细步骤讲解)

    因为Gitee和GitHub使用方法差不多,所以本文以将代码上传到Gitee为例,GitHub操作类似。 pycharm:File - Settings - Plugins - 搜索Gitee/GitHub 进行插件的安装 安装好之后该插件会有一个蓝色小箭头表示安装成功。 这个注册非常简单,按照步骤完成注册即可。 点击工具栏中的VCS - Share p

    2024年02月08日
    浏览(59)
  • C++ STL set容器

    和 map、multimap 容器不同,使用 set 容器存储的各个键值对,要求键 key 和值 value 必须相等。 举个例子,如下有 2 组键值对数据: {\\\'a\\\', 1, \\\'b\\\', 2, \\\'c\\\', 3} {\\\'a\\\', \\\'a\\\', \\\'b\\\', \\\'b\\\', \\\'c\\\', \\\'c\\\'} 显然,第一组数据中各键值对的键和值不相等,而第二组中各键值对的键和值对应相等。对于 set 容器来

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包