set集合容器

STL中的set集合容器进行集合运算:并、交、差实例 集合容器的集合运算:并、交、差: #include "stdafx.h" #include #include #include //集合运算:并、交、差需要包含该头文件 using namespace std; structltstr {     bool operator()(const char* s1,const char* s2) const 阅读详情

set集合容器实现了红黑树的平衡二叉树的数据结构

#include<set>
#include<iostream>
#include<cstdio>

using namespace std;

///自定义比较函数myComp,重载“()”操作符
struct myComp{
    bool operator()(const int &a,const int &b){
    if(a != b)
        return a > b;
    else
        return a > b;
    }
};

///如果元素是结构体,可以把比较函数写在结构体内
struct Info{
    string name;
    float score;
    ///重载“<”操作符,自定义排序规则
    bool operator < (const Info &a) const{
        ///按score从大到小排列,使用“>”号即可
        return a.score < score;
    }
};

int main(){
    ///定义元素类型为int的对象s,当前没有任何元素
    ///元素的排列采用默认的比较规则,也可以自定义比较规则函数
    set<int> s;

    ///元素的插入与中序遍历
    ///插入了五个元素,第二个8重复,没有插入进去
    s.insert(8);
    s.insert(1);
    s.insert(12);
    s.insert(6);
    s.insert(8);
    ///中序遍历集合中的元素
    set<int>::iterator it;
    for(it = s.begin();it != s.end();it++){
        cout << *it << " ";
    }
    printf("\n");

    ///元素的反向遍历
    set<int>::reverse_iterator rit;
    for(rit = s.rbegin();rit != s.rend();rit++){
        cout << *rit << " ";
    }
    printf("\n");

    ///元素的删除
    s.erase(6);
    for(auto it = s.begin();it != s.end();it++){
        cout << *it << " ";
    }
    printf("\n");

    ///元素的检索
    s.insert(6);
    ///查找键值为6的元素
    it = s.find(6);
    if(it != s.end())
        cout << "找到该元素" << endl;
    else
        cout << "该元素不存在" << endl;
    ///查找键值为20的元素
    it = s.find(20);
    if(it != s.end())
        cout << "找到该元素" << endl;
    else
        cout << "该元素不存在" << endl;

    ///自定义比较函数
    set<int,myComp> ss;
    ss.insert(8);
    ss.insert(1);
    ss.insert(12);
    ss.insert(6);
    ///迭代器
    for(auto it = ss.begin();it != ss.end();it++)
        cout << *it << " ";
    printf("\n");

    set<Info> sss;
    Info info;
    info.name = "Jack";
    info.score = 80.5;
    sss.insert(info);
    info.name = "Tom";
    info.score = 20.5;
    sss.insert(info);
    info.name = "Nacy";
    info.score = 60.5;
    sss.insert(info);
    for(auto it = sss.begin();it != sss.end();it++)
        cout << (*it).name << ":" << (*it).score << endl;
    printf("\n");

    return 0;
}
C++ STL关联容器Set与集合论入门 可以见的,以上的三个函数,其使用方法均是第一个集合开始到结束,第二个集合开始到结束,然后使用back_inserter插入器将数据插入到某一个向量或者其他容器之中,并交差是我们集合运算中的最基本的运算,有了这几种运算,我们可以构建出非常多的集合论中的各种功能,以达到我们的数学功能。集合论,是数学的一个基本的分支学科,研究对象是一般集合。这也是前文学过的标准用法,接下来,让我们了解一个更加先进和便捷的方法,auto方法迭代,这需要我们编译器开启C11标准,每个编译器的开启标准不一,请具体情况具体分析。 阅读详情

相关推荐

SAP 物料账前期没有运行的解决方法

If you use the actual costing (material ledger), you must have completely closed all period-end closing operations in the actual costing for the penultimate period prior to the period shift. Use the '...

含笑饮砒霜死后更嚣张 3316

c++中set,map用法

set: #include <iostream> #include<set> using namespace std; main() { typedef set<int>::iterator tt; int a[5]={3,4,6,1,2}; set<int> st(a,a+5); //st是12346 pair<tt,bool&gt...

weixin_44740740的博客 272

13 万字 C 语言从入门到精通保姆级教程2021 年版

13 万字C语言保姆级教程,从入门到精通。

李南江 61万+

C++ 标准模板库--set使用方法

一、关于set 1.本质:内部自动有序且不含重复元素的容器。 2.优点:自动去重,自动排序。 3. 常见用途:需要去除重复元素时,元素比较大或者不是 int 无法开散列表。 二、使用set 1.需要引用的头文件 #include<set> using namespace std; 2.定义 set<typedef> name 其中typedef可以为任何基...

国家熬夜运动比赛中心 649

ESP32-S3射频测试与全球认证全栈实践指南

功率谱密度(PSD)和发射功率等级是无线通信设备射频合规的核心基础概念,其物理层原理直接决定自适应测试、阻塞容限及多国认证的通过路径。PSD ≥10 dBm/MHz触发强制性自适应测试,需验证LBT机制与跳频鲁棒性;而16级可编程发射功率等级(-24 dBm至+20 dBm)则为功耗、覆盖与法规平衡提供工程调控维度。该能力广泛应用于低功耗蓝牙IoT终端、智能家居网关及工业无线传感器等场景,尤其在ESP32-S3平台中,需结合eFuse校准、Sigma工具链与QuickTrack认证策略实现从实验室调试到量产

weixin_34945060的博客 287

Marin说PCB之LPDDR5的布线注意事项--03

这个规则中是把每个字节中的WCK to RDQS 以及DM / DQ to WCK等长规则都加到了DM / DQ这个等长规则中去了,因为芯片手册上的设计要求中的DM / DQ这个group的等长误差是+-50MIL, WCK to RDQS的等长group的规则是62.5MIL,DM / DQ to WCK等长group的规则是相对松一些是150MIL。其实上面的等长规则还是建少了一些的,例如手册上要求的每个channel的WCK0:1,WCK2:3等长误差在+-488MIL,这个规则建议还是补上去吧。

weixin_45223454的博客 1229

C语言typedef详解

C语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与函数的类型等。

荷塘月色 6696

PID循迹控制算法

前言  让小车进行循迹最重要的是获取车相对于循迹线的位置,关于循迹模块的原理我已经在之前的一篇博客上讲过,如果大家没看过的话可以点此链接:PID循迹模块原理。 PID循迹原理简介 图1 循迹车寻线行走图示 图2 市场常见循迹传感器  PID循迹的原理我们大致可以用常识性思维去思考下,如图1所示为循迹车寻线行走图示,现在小车要按照中间那条黑线循迹行走,如果车头往左偏则需要控制方向盘让车往右转,车头往又偏则需要让车往左转。但是仅仅只有左转和右转的话,车一到左边就向右转,一到右边就向左转,则车会来回在线左右晃动

Dinvent的博客 7万+

set并集和交集&宏定义&typedef

看紫书P116, 发现这里的代码出现了几个没看过的函数, 百度了一下, 还真有, 而且用法比较奇特. 紫书上使用宏(macro)很巧妙, 以前这样没用过 typedef也给我减少写代码提供了新思路 主角是set相关的函数 取两集合并集: set_union() 取两集合交集: set_intersection() 要包含头文件algorithm 函数的参数分别是 set_un

姬小野的博客 496

《LangChain技术原理剖析:OpenAI Function Calling的实践与应用》

,"unit": {},name:函数的唯一标识符:自然语言描述,决定LLM如何选择该函数parameters:定义输入参数的完整Schema。

qq_62223405的博客 980

配置 SAP Web Dispatcher 的实战指南:打通 SAP Fiori、SAP Gateway 与前端系统的关键一跳

SAP Web Dispatcher 在 Fiori 架构中扮演关键角色,作为统一入口处理 HTTPS 请求、实现安全代理和流量分发。它将分散在不同系统的访问路径统一收口,解决浏览器同源策略限制,集中管理 HTTPS 终止和客户端信息传递。典型配置中,Web Dispatcher 监听 443 端口,根据路径将 OData 请求转发至 Gateway 系统,静态资源请求送至前端服务器。SSL 相关配置(如 PSE 文件)确保安全通信,而路由规则(wdisp/system_xx)决定请求转发目标。实施时需注意

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 102

STL set 常用操作简介

这是微软帮助文档中对集合(set)的解释: “描述了一个控制变长元素序列的对象(注:set中的key和value是Key类型的,而map中的key和value是一个pair结构中的两个分 量)的模板类,每一个元素包含了一个排序键(sort key)和一个值(value)。对这个序列可以进行查找、插入、删除序列中的任意一个元素,而完成这些操作的时间同这个序列中元素个数的对数成比例关 系,并且当游标指...

weixin_30885111的博客 148

HQChart实战教程54:Renko砖形K线图实现详解

Renko图(砖形图)起源于日本,只关注价格变动而忽略时间和成交量因素: 2.2 算法说明 初始化:使用第一根K线的收盘价创建第一个砖块 变动检测:计算当前价格与最后一个砖块的差值 砖块生成: 当价格变动≥砖块大小时,生成新砖块 当价格变动不足时,更新当前砖块的高低价 方向判断:根据价格变动方向确定砖块颜色 三、完整实现代码 四、Renko图的高级应用 4.1 动态砖块大小调整 4.2 Renko交易策略 三砖反转策略:趋势跟踪策略:本文详细介绍了Renko图的实现原理和在HQChart中的应

QQ_778132974的博客 872

c++集合set、multiset容器详解

set、multiset为关联式容器,其中的元素类型为pair,需要注意 set 容器存储的各个键值对,要求键 key 和值 value 必须相等举个例子,如下有 2 组键值对数据:登录后复制 {<'a', 1>, <'b', 2>, <'c', 3>} {<'a', 'a'&g...

qq_35485206的博客 1068

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【C++】STL 容器 - set 集合容器 ① ( set 集合容器简介 | set 集合容器操作的时间复杂度 | set 集合容器常用操作 )

一、set 集合容器 1、set 集合容器简介 2、set 集合容器操作的时间复杂度 3、set 集合容器常用操作 二、代码示例 - set 集合容器 1、代码示例 2、执行结果

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 2850

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【C++】STL 容器 - set 集合容器 ⑥ ( pair 对组简介 | pair 对组元素访问 | set 集合容器 insert 插入结果类型 - pair 对组 )

一、pair 对组 1、pair 对组 简介 2、pair 对组元素访问 3、代码示例 - pair 对组 4、set 集合容器存储 pair 对组元素 二、set 集合容器 insert 插入结果类型 - pair 对组 1、std::set#insert 函数原型分析 2、代码示例 - std::set#insert 函数插入元素结果分析

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1831

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

STL之set集合容器

set集合容器实现了hongheish

LYHVOYAGE的专栏 2万+

关联容器-set和multiset集合

/输出s(升序)的所有数据//输出s(降序)的所有数据int main()//创建一个空的int set集合//插入数据//相同数据插入失败//利用原来的set对象,创建一个新的set对象//同上//利用迭代器创建一个新的set对象//利用初始化列表创建一个set对象,可以无序Show(s0);//输出数据Show(s1);Show(s2);Show(s3);Show(s4);cout << "降序的集合" << endl;//创建一个降序的set集合。

2301_76411812的博客 1114

C++STL之Set集合容器

Set集合容器实现了红黑树的平衡二叉树的数据结构,在插入元素时候,它会自动的进行调整二叉树的排列,把该元素放到适当的位置,以保证每个子树根节点的键值大于左子树所有的键值,小于右子树所有节点的键值;另外,还要确保根节点左子树的高度与右子树的高度相等,这样,二叉树的高度最小,从而达到检索的速度最快 注意:不会插入相同的键值,若存在相同的键值,第二次插入忽略。

波大菜菜 1016

Python-数据容器之set集合

Python-数据容器之set集合

qq_35989920的博客 297

【C++ STL哈希容器】unordered_set 无序集合

【C++ STL有序关联容器】set 集合。查看已定义 uset 容器存储元素的个数,并通过正向迭代器输出各元素。int main()//创建一个空的unordered_set容器//给 uset 容器添加数据//查看当前 uset 容器存储元素的个数//遍历输出 uset 容器存储的所有元素iter!

普罗米修斯的博客 1477
上一篇: string基本字符系列容器
下一篇: multiset多重集合容器
10086love10010
博客等级 码龄10年 0粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值