STL(第七课):set

这篇具有很好参考价值的文章主要介绍了STL(第七课):set。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        STL set是C++ STL库提供的一种关联容器,它实现了一个有序、不重复的集合。可以将set看作一个集合,该集合中的元素按照一定的关键字有序排列,并且每个元素只出现一次。STL set的底层实现采用了红黑树的数据结构,具有自动排序和快速查找等特点。

        STL set的用法和其他STL容器类似,可以使用迭代器访问集合中的元素,也可以使用STL算法库提供的算法对集合中的元素进行操作。

  1. 插入元素:可以使用insert()函数将一个元素插入到set中。

  2. 查找元素:可以使用find()函数查找set中是否存在某个元素。

  3. 删除元素:可以使用erase()函数删除set中的某个元素。

  4. 遍历元素:可以使用迭代器遍历set中的所有元素,也可以使用STL算法库提供的算法对元素进行遍历和操作。

#include <iostream>
#include <set>

using namespace std;

int main()
{
    set<int> mySet;

    // 插入元素
    mySet.insert(3);
    mySet.insert(1);
    mySet.insert(4);
    mySet.insert(2);
    mySet.insert(5);

    // 遍历元素
    for (auto it = mySet.begin(); it != mySet.end(); ++it)
    {
        cout << *it << " ";
    }
    cout << endl;

    // 查找元素
    auto it = mySet.find(3);
    if (it != mySet.end())
    {
        cout << "Found " << *it << endl;
    }
    else
    {
        cout << "Not found" << endl;
    }

    // 删除元素
    mySet.erase(4);

    // 遍历元素
    for (auto x : mySet)
    {
        cout << x << " ";
    }
    cout << endl;

    return 0;
}

输出结果:

1 2 3 4 5 
Found 3
1 2 3 5 

        可以看到,我们首先插入了一些元素到set中,然后遍历元素并输出。接着我们查找了set中是否存在元素3,并输出相关信息。最后,我们删除了set中的元素4,并再次遍历元素并输出。可以看到,删除元素后set中剩余的元素仍然按照一定的顺序排列,并且没有重复元素。文章来源地址https://www.toymoban.com/news/detail-743519.html

到了这里,关于STL(第七课):set的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 剪枝与重参第七课:YOLOv8剪枝

    手写AI推出的全新模型剪枝与重参课程。记录下个人学习笔记,仅供自己参考。 本次课程主要讲解YOLOv8剪枝。 课程大纲可看下面的思维导图 YOLOV8剪枝的流程如下: 结论 :在VOC2007上使用yolov8s模型进行的实验显示,预训练和约束训练在迭代50个epoch后达到了相同的mAP(:0.5)值,约

    2023年04月22日
    浏览(31)
  • 复习第七课 C语言-指针数组,函数,string

    目录 【1】指针和数组 【2】数组指针 【3】指针数组 【4】函数 【5】函数传参 【6】动态开辟堆区空间 【7】string函数族 【8】递归函数 练习: 直接访问:通过数组名访问 间接访问:通过指针访问 》1. 一维数组 运算方法: 1) *和++都是弹幕运算符,优先级相同 2) 单目运算

    2024年02月16日
    浏览(42)
  • 隐语第七课:多方安全分析语言SCQL架构详解

    目录 1、SCQL的定义 2、SCQL主要特点 3、SCQL的实现原理   4、SCQL对SQL的支持能力 5、列控制列表CCL 5.1 什么是CCL 5.2 CCL的设计缘由 5.3 CCL约束详解 6、SCQL的使用场景 7、下面分享Slides 首先必须感谢蚂蚁集团及隐语社区带来的学习机会!  第七课由操顺德老师讲述,核心内容是 详解

    2024年04月11日
    浏览(57)
  • STM32第七课:PWM控制SG90舵机

            学习完上一课的PWM控制LED小灯实现呼吸灯的效果,我们就可以进一步学习PWM控制舵机的效果了。PWM控制舵机相信会是一个更有意思的小实验的。          舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档

    2024年04月17日
    浏览(32)
  • ACL 访问控制 过滤数据 维护网络安全(第七课)

    ACL是Access Control List(访问控制列表)的缩写,是一种用于控制文件、目录、网络设备等资源访问权限的方法。ACL可以对每个用户或用户组设置不同的访问权,即在访问控制清单中为每个用户或用户组指定允许或禁止访问该资源的权限。它通常由一系列规则组成,规则定义了一

    2024年02月10日
    浏览(48)
  • 吴恩达llama课程笔记:第七课llama安全工具

     羊驼Llama是当前最流行的开源大模型,其卓越的性能和广泛的应用领域使其成为业界瞩目的焦点。作为一款由Meta AI发布的开放且高效的大型基础语言模型,Llama拥有7B、13B和70B(700亿)三种版本,满足不同场景和需求。 吴恩达教授推出了全新的Llama课程,旨在帮助学习者全面

    2024年04月25日
    浏览(34)
  • 单片机第三季-第七课:STM32中断体系

    目录 1,NVIC 2,中断和事件的区别 3,优先级的概念  4,如何实际编程使用外部中断 5,STM32开发板通过按键控制LED  5.1,打开相应GPIO模块时钟 5.2,NVIC设置 5.3,外部中断线和配套的GPIO进行连接映射 5.4,代码文件  6,FSMC NVIC: Nested Vector Interrupt Control,嵌套向量中断控制器;

    2024年01月18日
    浏览(47)
  • C语言第七课----------函数的定义及使用--------C语言重要一笔

                                                      个人主页::小小页面                  gitee页面:秦大大                 一个爱分享的小博主 欢迎小可爱们前来借鉴 __________________________________________________________          1.函数是什么   

    2024年02月16日
    浏览(33)
  • 30天拿下Rust之切片

    概述         在Rust中,切片是一种非常重要的引用类型。它允许你安全地引用一段连续内存中的数据,而不需要拥有这些数据的所有权。切片不包含分配的内存空间,它仅仅是一个指向数据开始位置和长度的数据结构。切片是对数组的一个连续引用,它提供了一种方便、

    2024年03月13日
    浏览(52)
  • 30天拿下Rust之引用

    概述         在Rust语言中,引用机制是其所有权系统的重要组成部分,它为开发者提供了一种既高效又安全的方式来访问和共享数据。引用可以被视为一个指向内存地址的指针,它允许我们间接地访问和操作存储在内存中的数据。与其他语言中的指针不同,Rust中的引用是

    2024年03月10日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包