当前位置: 首页 > news >正文

备战蓝桥杯---数据结构与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");//生成123456string s2("1234",0,3);//从0位置开始,长度为3string s3("123456",5);//长度为5string 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)//对序列反转(可以是字符串,也可以是数组)

相关文章:

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

今天我们主要介绍的是pair,string,set,map pair:我们可以把它当作一个结构体&#xff1a; void solve(){pair<int int> a;//创建amake_pair(1,2);//添加元素cout<<a.first<<endl<<a.second<<endl;}//输出 当然&#xff0c;它也可以嵌套&#…...

「优选算法刷题」:只出现一次的数字Ⅲ

一、题目 给你一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 示例 1&#xff1a; …...

Vue-43、Vue中组件自定义事件

1、给学生绑定atguigu事件 2、在组件内触发事件 第二种写法 传多个参数。 解绑 解绑一个事件 解绑多个自定义事件 this.$off([xxx1,xxx2]);解绑所有事件 this.$off();总结...

GitHub 开启 2FA 双重身份验证的方法

为什么要开启 2FA 自2023年3月13日起,我们登录 GitHub 都会看到一个要求 Enable 2FA 的重要提示,具体如下: GitHub users are now required to enable two-factor authentication as an additional security measure. Your activity on GitHub includes you in this requi…...

ASP.NET Core 过滤器 使用依赖项注入

过滤器是 ASP.NET Core 中的特殊组件&#xff0c;允许我们在请求管道的特定阶段控制请求的执行。这些过滤器在中间件执行后以及 MVC 中间件匹配路由并调用特定操作时发挥作用。 简而言之&#xff0c;过滤器提供了一种在操作级别自定义应用程序行为的方法。它们就像检查点&#…...

2024年的网创之路应该这样走才对

2024年的网创之路应该这样走才对 大家都知道这两年经济环境不好&#xff0c;钱不好挣&#xff0c;对于普通人&#xff0c;只有一条出路&#xff0c;就是学某项技能&#xff0c;然后死磕&#xff0c;不能提升某项技能的项目&#xff0c;打死也不做&#xff0c;因为多数项目都是…...

ssh异常报错:Did not receive identification string from

一、问题描述 某次外出在异地工作场所xshell炼乳远程服务器时&#xff0c;报错&#xff1a;Connection closed by foreign host. D&#xff0c;服务器查看secure日志或sshd服务状态会显示&#xff1a;id not receive identification string from client_ip; 二、分析处理 1&a…...

MIDI码深度解析

MIDI 协议即数字音乐接口&#xff08;Musical Instrument Digital Interface&#xff09;&#xff0c;是电子乐器、合成器等演奏设备之间的一种即时通信协议&#xff0c;用于硬件之间的实时演奏数据传递。如果理解还不够深刻&#xff0c;官方如下解释&#xff1a; 常用midi硬件…...

小红书如何做混部?

作者&#xff1a;宋泽辉&#xff08;小红书&#xff09;、张佐玮&#xff08;阿里云&#xff09; 编者按&#xff1a; Koordinator 是一个开源项目&#xff0c;是基于阿里巴巴内部多年容器调度、混部实践经验孵化诞生&#xff0c;是行业首个生产可用、面向大规模场景的开源混…...

[PHP]严格类型

PHP: 类型声明 - Manual...

作为程序员,你必须学会Maven

资源领取在末尾. Maven 是一款旨在简化 Java 开发流程的管理工具&#xff0c;它的主要功能包括&#xff1a; 1. 项目管理&#xff1a;Maven 提供了一种项目对象模型(Project Object Model, POM)&#xff0c;用于管理项目的构建、报告和文档。它允许开发者通过少量代码…...

UDF学习(三)数据访问宏

数据访问宏一 网格节点相关宏** NODE_X (v) 节点v的x方向的坐标 (Node *v) NODE_Y (v) 节点v的y方向的坐标 (Node *v) NODE_Z (v) 节点v的z方向的坐标 (Node *v) F_NODE (f,t,n) 获取节点 (face_t f, Thread *t, int n 节点索引号) F_NNODES(f,t) 获取面上的节点数量 (…...

Web3技术革新:重新定义在线体验

互联网的不断演进塑造了我们的数字生活&#xff0c;而Web3技术的涌现正带来一场前所未有的变革。本文将深入探讨Web3技术的创新&#xff0c;以及它如何重新定义和提升我们的在线体验。 Web3技术的基本概念 Web3是互联网的第三个时代&#xff0c;它将去中心化、区块链、智能合约…...

从前端Vue到后端Spring Boot:接收JSON数据的正确姿势

目录 一、前端Vue发送JSON数据二、后端Spring Boot接收JSON数据三、常见错误和问题四、总结 在现代Web开发中&#xff0c;前后端分离已成为一种趋势&#xff0c;Vue和Spring Boot也成为了其中最流行的前后端框架。在Vue前端向Spring Boot后端发送数据时&#xff0c;常常需要将数…...

nvm 工具使用介绍

目录 1.背景2.nvm介绍3.下载和安装4.配置环境变量5.配置淘宝镜像5.1 方式一:直接执行命令5.2 方式二:修改配置文件6.常用命令7.总结下载地址: https://github.com/coreybutler/nvm-windows/releases1.背景 在工作中,我们可能需要同时进行2个或者多个前端项目的开发,每个项…...

Shell 入门_1

Shell概述 本次课程主要包含内容: Shell脚本入门Shell变量Shell内置命令Shell运算符与执行运算命令流程控制语句Shell函数Shell重定向Shell好用的工具, cut sed awk sort大厂常见企业面试题 Shell脚本入门 疑问 linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等? 答…...

力扣hot100 柱状图中最大的矩形 单调栈

Problem: 84. 柱状图中最大的矩形 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 参考地址 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public static int largestRectangleArea(int[] height){Stack&l…...

018 用户交互Scanner

什么是Scanner对象 next()方法 // 声明输入对象 Scanner scanner new Scanner(System.in);System.out.println("next()方法接收&#xff1a;"); if (scanner.hasNext()) {// 输入 Hello worldString str1 scanner.next();// 输出 HelloSystem.out.println(str1); }…...

华为HCIE课堂笔记第十七章 广域网互联技术

第十七章 广域网互联技术 17.1 GRE VPN GRE VPN用于分支与分支通过私网地址互联&#xff0c;通过在私网报文上添加一个GRE的头部&#xff0c;以及添加一层外层的IP头部&#xff0c;通过外层头部中的目IP地址使得报文到达隧道对端接口&#xff0c;并解封装得到原始的私网报文…...

代码随想录算法训练营第17天(二叉树5)| 找树左下角的值二叉树的路径总和从中序与后序遍历序列构造二叉树从前序与中序遍历序列构造二叉树

513.找树左下角的值 leetcode题目地址 题目链接/文章讲解/视频讲解 如果使用递归法&#xff0c;如何判断是最后一行&#xff1a; 其实就是深度最大的叶子节点一定是最后一行。 //迭代法 class Solution { public:int findBottomLeftValue(TreeNode* root) {queue<TreeNod…...

效率革命:告别繁琐配置,用快马AI一键生成个性化在线工作台

最近在尝试优化自己的工作流程&#xff0c;发现一个高效的个人工作台真的能大幅提升生产力。传统的待办清单、番茄钟和便签工具往往需要切换多个应用&#xff0c;于是我用纯前端技术打造了一个三合一的工作台Web应用&#xff0c;整个过程在InsCode(快马)平台上完成&#xff0c;…...

ComfyUI-Manager下载加速终极指南:3倍性能提升实战解析

ComfyUI-Manager下载加速终极指南&#xff1a;3倍性能提升实战解析 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various cust…...

互联网大厂Java面试场景深度剖析:核心技术栈与代码案例实录

互联网大厂Java面试场景深度剖析&#xff1a;核心技术栈与代码案例实录 在互联网大厂面试Java岗位&#xff0c;除了扎实的技术基础&#xff0c;还离不开对核心技术栈的全方位掌握。本文结合真实对话场景和代码案例&#xff0c;为求职者深度剖析面试流程与思路。 面试场景趣味对…...

如何用3步永久保存QQ空间回忆?GetQzonehistory全攻略

如何用3步永久保存QQ空间回忆&#xff1f;GetQzonehistory全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心过QQ空间里那些承载青春记忆的说说会突然消失&#xff1f;Ge…...

CHORD-X大模型一键部署教程:基于Python爬虫的深度研究报告数据采集实战

CHORD-X大模型一键部署教程&#xff1a;基于Python爬虫的深度研究报告数据采集实战 你是不是也经常为了写一份行业研究报告&#xff0c;得花上大半天甚至几天时间&#xff0c;手动去各个网站、公告平台、新闻页面搜集数据&#xff1f;财报摘要、市场动态、公司公告、行业新闻……...

如何突破登录壁垒?多登录系统让所有玩家畅玩同一游戏服务器

如何突破登录壁垒&#xff1f;多登录系统让所有玩家畅玩同一游戏服务器 【免费下载链接】MultiLogin 外置共存 项目地址: https://gitcode.com/gh_mirrors/mu/MultiLogin 在游戏服务器管理中&#xff0c;管理员常常面临一个棘手问题&#xff1a;如何让使用不同账号系统的…...

用PyQt5打造GUI应用:PyCharm中QtDesigner和PyUic的高效工作流配置

PyCharm专业版中PyQt5高效开发&#xff1a;QtDesigner与PyUic深度整合指南 在Python GUI开发领域&#xff0c;PyQt5凭借其强大的功能和跨平台特性&#xff0c;已成为众多开发者的首选工具。然而&#xff0c;许多中级开发者在实际项目中常遇到工作流断裂的问题——设计界面与代码…...

Qwen2.5-VL-7B-Instruct效果对比:vs InternVL2、LLaVA-1.6在中文场景表现

Qwen2.5-VL-7B-Instruct效果对比&#xff1a;vs InternVL2、LLaVA-1.6在中文场景表现 1. 多模态视觉-语言模型概述 Qwen2.5-VL-7B-Instruct是阿里云推出的新一代多模态视觉-语言模型&#xff0c;专为中文场景优化设计。该模型能够同时理解图像和文本输入&#xff0c;并生成符…...

SEO_中小企业必备的快速见效SEO优化解决办法

SEO: 中小企业必备的快速见效SEO优化解决办法 在当前竞争激烈的市场环境中&#xff0c;中小企业如何迅速提升在搜索引擎上的曝光率&#xff0c;成为每个企业家关注的焦点。搜索引擎优化&#xff08;SEO&#xff09;不仅能帮助企业吸引更多潜在客户&#xff0c;还能显著提高网站…...

Hunyuan-OCR-WEBUI效果实测:复杂表格识别与字段抽取案例展示

Hunyuan-OCR-WEBUI效果实测&#xff1a;复杂表格识别与字段抽取案例展示 1. 引言 在数字化转型浪潮中&#xff0c;纸质文档的电子化处理一直是企业办公自动化的关键环节。传统OCR技术虽然能够完成基本的文字识别&#xff0c;但在面对复杂表格、多语言混合、低质量扫描件等实际…...