备战蓝桥杯---数据结构与STL应用(基础3)

今天我们主要介绍的是pair,string,set,map

pair:我们可以把它当作一个结构体:

void solve(){
    pair<int int> a;//创建
    a=make_pair(1,2);//添加元素
    cout<<a.first<<endl<<a.second<<endl;}//输出

当然,它也可以嵌套(注意,两个尖括号不能连在一起,否则会当作右移:

void solve(){
    pair<int pair<int,int> > a;}

string:字符串

接下来是他的创建与初始化:

void solve(){
    string s;//创建
    string s1("123456");//生成123456
    string s2("1234",0,3);//从0位置开始,长度为3
    string s3("123456",5);//长度为5
    string s4(5,'2');//构造5个2连起来的字符串
    string s5=(s1,2);//从s1中截取从第3个元素到最后
}

注意,1.string是可以用<,><=,>=进行比较的,并可以用+进行拼接。

        2.s=s+'2'的复杂度为n,s+='2';的复杂度为1.

下面是它的函数方法:

s.size()/s.length()返回字符个数
s.push_back()末尾插入一个字符
s.insert(pos,e)在pos位置插入字符
s.append(str)字符串结尾添加字符串
erase(iterator p)删除所指字符
erase(iterator first,iterator last)删除[first,last)
erase(pos,len)删除从pos开始的len个字符
clear()删除所有字符
s.substr(pos,n)截取从pos开始的n个字符

s.find(str/c,pos)从pos开始(默认为0)找str/c,找到返回位置索引,否则-1

set:集合,里面的元素不重复,有序

初始化定义:set<int> s;

函数方法:

s.begin()返回第一个元素地址
s.end()返回最后一个元素的下一个地址
s.clear()删除其所有元素
s.empty()判断是否为空
s.insert()插入一个元素
s.size()返回元素个数
erase(key_value)删除键值key_value的值
s.find()查找某一元素
s.count()查询某一元素是否出现

map:每个键对应一个值,类似于python中的字典

赋值:map[0]={1,1};

下面是它的函数方法:

mp.find(key)返回键为key的迭代器,不存在返回mp.end()
mp.erase(it)消除迭代器对应的键与值
mp.erase(key)根据键删除键与值
mp.size()返回映射的对数
mp.clear()清空元素
mp.insert()插入元素
mp.begin()返回第一个元素地址
mp.end()返回最后一个元素的下一个地址
mp.count(key)存在返回1,否则0

下面介绍几种比较有用的STL函数:

stoi

atoi(const char*)//用于把字符串化为整形:“1234”------》1234(默认在int范围)

atoi则不会检查,超出上界输出上界

iota

让序列递增赋值:

vector <int> a(10)

iota(a.begin(),a.end(),0);

则10个元素为0 1 2 3 4 5 6 7 8 9

max/min

可以用来多个元素的最大最小值

max({a,b,c,d})

reverse

reverse(beg,end)//对序列反转(可以是字符串,也可以是数组)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/355558.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt/C++音视频开发64-共享解码线程/重复利用解码/极低CPU占用/画面同步/进度同步

一、前言 共享解码线程主要是为了降低CPU占用&#xff0c;重复利用解码&#xff0c;毕竟在一个监控系统中&#xff0c;很可能打开了同一个地址&#xff0c;需要在多个不同的窗口中播放&#xff0c;形成多屏渲染的效果&#xff0c;做到真正的完全的画面同步&#xff0c;在主解码…

60、Flink CDC 入门介绍及Streaming ELT示例(同步Mysql数据库数据到Elasticsearch)-完整版

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点&#xff0c;并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分&#xff0c;比如术语、架构、编程模型、编程指南、基本的…

Java项目:基于SSM框架实现的企业员工岗前培训管理系统(ssm+B/S架构+源码+数据库+毕业论文)

一、项目简介 本项目是一套ssm821基于ssm框架实现的企业员工岗前培训管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格…

智能巡检系统:企业管理创新的一个新方向

智能巡检系统是一个重要的工具&#xff0c;它可以帮助企业实现更高效、更准确和更安全的管理。在谈论智能巡检时&#xff0c;我们主要关注的是以下几个方面的创新和改进。 数据处理能力&#xff1a;智能巡检系统通过云端处理技术&#xff0c;可以实现大规模数据的快速处理和分析…

接口参数校验之路径变量:@PathVariable(二):多个路径变量校验

一、引言 在上一篇文章《接口参数校验之路径变量&#xff1a;PathVariable》中&#xff0c;我们深入探讨了Spring MVC框架中的一个重要特性——路径变量的使用和校验。文章详细阐述了如何通过PathVariable注解从请求URL中提取路径变量&#xff0c;并对单个路径变量进行合法性校…

贝锐蒲公英全新网页认证,保障企业访客无线网络安全

随着企业规模的不断扩大、人员的增长、无线终端数量/类型的增加&#xff0c;传统WiFi无线网络会暴露出越来越多的问题&#xff0c;导致无线网络管理困难。 比如&#xff1a;采用弱密码、安全防护不到位的默认设置、员工缺乏信息安全意识、未经授人员权访问无线网络…… 这些问…

Kafka(九)跨集群数据镜像

目录 1 跨集群镜像的应用场景1.1 区域集群和中心集群1.2 高可用(HA)和灾备(DR)1.3 监管与合规1.4 云迁移1.5 聚合边缘集群的数据 2 多集群架构2.1 星型架构2.2 双活架构2.2 主备架构2.2.1 如何实现Kafka集群的故障转移2.2.1.1 故障转移包括的内容1. 灾难恢复计划2. 非计划内的故…

使用SQL来操作DataFrame?我们给pandas找了个新搭子

对有一定SQL基础的人来说&#xff0c;pandas中的查询会有点繁琐。 在这篇文章&#xff0c;我们将给Pandas找个搭子&#xff0c;在用SQL方便的地方&#xff0c;我们用SQL&#xff1b;在用原生查询方便的地方&#xff0c;我们就用原生查询。 这个搭子会是谁呢&#xff1f; data…

李国武老师解读SPC:提升生产效率与品质的秘诀

近年来&#xff0c;企业对于生产效率和品质的要求越来越高。而SPC&#xff08;统计过程控制&#xff09;作为一种重要的质量管理工具&#xff0c;受到了广泛的关注和应用。在这篇文章中&#xff0c;我们将跟随天行健咨询的李国武老师&#xff0c;深入探讨SPC的核心理念、应用方…

适用智能锁等触摸电子产品-单键/多键触摸触控芯片

智能化产品已成为我们日常生活中不可或缺的一部分&#xff1b;其中&#xff0c;智能锁等触摸电子产品在家居安全领域中扮演着重要的角色&#xff1b;而这些产品的核心技术之一就是单键/多键触摸触控芯片。 单键/多键触摸触控芯片是一种集成了触摸控制功能的芯片&#xff0c;通…

数字化转型是个趋势,对企业来说,数字化转型需要重点关注哪几个方面?

数字化转型确实是企业的一个重要趋势&#xff0c;其成功需要涵盖业务各个方面的全面方法。企业在数字化转型过程中应重点关注以下几个方面&#xff1a; 1.战略愿景和领导力&#xff1a; 制定与总体业务目标相一致的清晰数字战略。确保领导层对数字化转型之旅的承诺和支持。 …

DAY10_SpringBoot—SpringMVC重定向和转发RestFul风格JSON格式SSM框架整合Ajax-JQuery

目录 1 SpringMVC1.1 重定向和转发1.1.1 转发1.1.2 重定向1.1.3 转发练习1.1.4 重定向练习1.1.5 重定向/转发特点1.1.6 重定向/转发意义 1.2 RestFul风格1.2.1 RestFul入门案例1.2.2 简化业务调用 1.3 JSON1.3.1 JSON介绍1.3.2 JSON格式1.3.2.1 Object格式1.3.2.2 Array格式1.3…

第4章 python深度学习——(波斯美女)

第4章 机器学习基础 本章包括以下内容&#xff1a; 除分类和回归之外的机器学习形式 评估机器学习模型的规范流程 为深度学习准备数据 特征工程 解决过拟合 处理机器学习问题的通用工作流程 学完第 3 章的三个实例&#xff0c;你应该已经知道如何用神经网络解决分类问题和回归…

Arduino Uno R3通过ESP-01S连接网络

一、材料准备 Arduino Uno R3开发板 1 USB串口通信数据线&#xff08;Uno开发板使用&#xff09; 1 ESP8266-01S Wi-Fi模块 1 ESP8266固件烧录下载器&#xff08;烧录固件使用&#xff09; 1 WiFi无线收发转接板&#xff08;适用于ESP-01S、ESP-01&#xff09; 杜邦线…

让AI帮你说话--GPT-SoVITS教程

有时候我们在录制视频的时候&#xff0c;由于周边环境嘈杂或者录音设备问题需要后期配音&#xff0c;这样就比较麻烦。一个比较直观的想法就是能不能将写好的视频脚本直接转换成我们的声音&#xff0c;让AI帮我们完成配音呢&#xff1f;在语音合成领域已经有很多这类工作了&…

[足式机器人]Part3 机构运动学与动力学分析与建模 Ch01-2 完整定常系统——杆组RRR

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有帮助请引用 本文参考: 《空间机构的分析与综合(上册)》-张启先…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson10(电话会话Ⅱ)

《美语从头学初级入门篇》 注意&#xff1a;被 删除线 划掉的不一定不正确&#xff0c;只是不是标准答案。 文章目录 Lesson 10 Telephone Conversation Ⅱ 电话会话&#xff08;二&#xff09;会话A会话B笔记I would like to do&#xff08;Id like to to do&#xff09;我想…

0基础学习VR全景平台篇第139篇:如何用圆周率全景相机拍摄VR全景

新手入门 圆周率科技&#xff0c;成立于2012年&#xff0c;是中国最早投身嵌入式全景算法研发的团队之一&#xff0c;亦是全球市场占有率最大的全景算法供应商。相继推出一体化智能屏、支持一键高清全景直播的智慧全景相机--Pilot Era和Pilot One&#xff0c;为用户带来实时畅…

【智能家居入门之环境信息监测】(STM32、ONENET云平台、微信小程序、HTTP协议)

作为入门本篇只实现微信小程序接收下位机上传的数据&#xff0c;之后会持续发布如下项目&#xff1a;①可以实现微信小程序控制下位机动作&#xff0c;真正意义上的智能家居&#xff1b;②将网络通讯协议换成MQTT协议再实现上述功能&#xff0c;此时的服务器也不再是ONENET&…

电脑风扇控制温度软件 Macs Fan Control Pro 中文

Macs Fan Control Pro是一款专为Mac用户设计的风扇控制软件&#xff0c;旨在提供更精细的风扇转速控制和温度监控。这款软件通过实时监测Mac内部硬件的温度&#xff0c;自动或手动调整风扇的转速&#xff0c;以确保系统温度保持在理想范围内。 Macs Fan Control Pro提供了直观…