工具函数模板题(蓝桥杯 C++ 代码 注解)

目录

一、Vector容器:

二、Queue队列

三、Map映射

 四、题目(快递分拣 vector):

代码:

五、题目(CLZ银行问题 queue):

代码:

六、题目(费里的语言 map):

代码:

一、Vector容器:

Vector 的主要作用就是可变长度的数组,就把他当成数组使用即可。

#include <vector>   //头文件
vector<int> a;      //定义了一个int类型的vector容器a
vector<int> b[100]; //定义了一个int类型的vector容器b 相当于二维数组
struct rec
{···
};
vector<rec> c;            //定义了一个rec类型的vector容器ca.size()           //返回实际长度(元素个数),O(1)复杂度
a.empty()      //容器为空返回1,否则返回0,O(1)复杂度
a.clear()      //把vector清空
a.begin()      //返回指向第一个元素的迭代器,*a.begin()与a[0]作用相同
a.end()        //越界访问,指向vector尾部,指向第n个元素再往后的边界
a.front()      //返回第一个元素的值,等价于*a.begin和a[0]
a.back()       //返回最后一个元素的值,等价于*--a.end()和a[size()-1]
a.push_back(x) //把元素x插入vector尾部
a.pop_back()   //删除vector中最后一个元素//遍历的方法一:for ( vector<int>::iterator it=a.begin() ; it!=a.end() ; it++ )cout<<*iterator<<endl;//遍历的方法二:
for( int i=0;i<a.size();i++) cout<<a[i]<<endl;

二、Queue队列

queue<string> myqueue;
queue<int> myqueue_int;front()://返回 queue 中第一个元素的引用。
back()://返回 queue 中最后一个元素的引用。
push(const T& obj)://在 queue 的尾部添加一个元素的副本。
pop()://删除 queue 中的第一个元素。
size()://返回 queue 中元素的个数。
empty()://如果 queue 中没有元素的话,返回 true。

三、Map映射

map 是一个关联容器,它提供一对一的 hash

  • 第一个可以称为关键字(key),每个关键字只能在 map 中出现一次
  • 第二个可能称为该关键字的值(value)
map<char, int> mymap1;
map<string, int> mymap2;int map.size();//查询map中有多少对元素
bool empty();// 查询map是否为空插入: map.insert(make_pair(key,value));//或者map.insert(pair<char, int>(key, value))//或者map[key]=value取值;map<int, string> map;//如果map中没有关键字2233,使用[]取值会导致插入
//因此,下面语句不会报错,但会使得输出结果结果为空
cout<<map[2233]<<endl;//但是使用at会进行关键字检查,因此下面语句会报错
map.at(2016) = "Bob";遍历:
map<string, string>::iterator it;
for (it = mapSet.begin(); it != mapSet.end(); ++it)
{cout << "key" << it->first << endl;cout << "value" << it->second << endl;
}查找:
m.count(key)://由于map不包含重复的key,因此m.count(key)取值为0,或者1,表示是否包含。
m.find(key)://返回迭代器,判断是否存在。

 四、题目(快递分拣 vector):

代码:

#include<iostream>
#include<vector>
using namespace std;
vector<string> city;
vector<string> nums[1010];
int n;
int Find(string name)
{for (int i = 0; i < city.size(); i++){if (city[i] == name)//找到该城市return i;//返回该城市的所属nums的vector里}return -1;
}
int main()
{cin >> n;for (int i = 0; i < n; i++){string num1, name1;cin >> num1 >> name1;if (Find(name1)== -1)//找不到该城市名{city.push_back(name1);//新添城市名nums[city.size() - 1].push_back(num1);//将号码存到新城市所属nums的vector里}else//找到该城市名{nums[Find(name1)].push_back(num1);//将该号码存到该城市所属nums的vector里}}for (int i = 0; i < city.size(); i++){cout << city[i] << " " << nums[i].size() << endl;//输出城市,输出城市有的号码个数for (int j = 0; j < nums[i].size(); j++){cout << nums[i][j] << endl;//输出城市有的号码}}
}

五、题目(CLZ银行问题 queue):

代码:

#include<iostream>
#include<queue>
using namespace std;
queue<string> vip;
queue<string> no_vip;
int main()
{int m;cin >> m;while (m--){string s,name,choice;cin >> s;if (s == "IN")//入队{cin >> name >> choice;if (choice == "V")//入vip队列vip.push(name);else//否则入普通队列no_vip.push(name);}else{cin >> choice;if (choice == "V")//vip队列出队vip.pop();else//普通队列出队no_vip.pop();}}while (vip.size())//输出vip队列{cout << vip.front() << endl;vip.pop();}while (no_vip.size())//输出普通队列{cout << no_vip.front() << endl;no_vip.pop();}
}

六、题目(费里的语言 map):

代码:

#include<iostream>
#include<map>
using namespace std;
int main()
{int n;string ans = "NO";map<string, bool> mp;cin >> n;for (int i = 0; i < n; i++){string word;cin >> word;if (mp.count(word))//不为0说明已经有了,记录答案并跳出{ans = word;break;}elsemp[word]=1;//没有,则将其加入,标为1}cout << ans;
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

索引下推 INDEX CONDITION PUSHDOWN

索引下推 (INDEX CONDITION PUSHDOWN&#xff0c;简称ICP)是在 MySQL5.6 针对扫描索引下推二级索引的一项优化改进。 用来在范围查询时减少回表的次数。ICP适用于 MYISAM和INNODB.

二手手机管理系统|基于Springboot的二手手机管理系统设计与实现(源码+数据库+文档)

二手手机管理系统目录 目录 基于Springboot的二手手机管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户管理功能的实现界面 2、用户中心管理功能的实现界面 3、新闻信息管理功能的实现界面 4、商品收藏管理功能的实现界面 5、订单管理功能的实现界…

WordPress免费的远程图片本地化下载插件nicen-localize-image

nicen-localize-image&#xff08;可在wordpress插件市场搜索下载&#xff09;&#xff0c;是一款用于本地化文章外部图片的插件&#xff0c;支持如下功能&#xff1a; 文章发布前通过编辑器插件本地化 文章手动发布时自动本地化 文章定时发布时自动本地化 针对已发布的文章…

图书推荐|Word文稿之美

让你的文档从平凡到出众&#xff01; 本书内容 《Word文稿之美》是一本全面介绍Word排版技巧和应用的实用指南。从初步认识数字排版到高效利用模板、图文配置和表格与图表的排版技巧&#xff0c;再到快速修正错误和保护文件&#xff0c;全面系统地讲解数字排版的技术和能力&…

idea内置的database和chat2DB如何?

捉妖啦 最近由于某些众所周知的因素&#xff0c;要求卸载navicat,所以寻找替代品是当下任务。如果知识MySQL数据库的话&#xff0c;那替代品可太多了&#xff0c;由于使用的是MongoDB&#xff0c;所以至今没有找到一个称手的工具。 需要一款像Navicat一样&#xff0c;可以直…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:点击回弹效果)

设置组件点击时回弹效果。 说明&#xff1a; 从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 clickEffect clickEffect(value: ClickEffect | null) 设置当前组件点击回弹效果。 系统能力&#xff1a; SystemCapabilit…

前端- 基础 表单标签 - 使用场景及组成

大家都有到银行去办理业务的时候&#xff0c;大多数情况下会填一些 纸质的表之类的东西如下图 而我们在网页中也会经常遇到 像现实生活中在银行填表那样的情景&#xff0c;如下图 &#xff1a; 上示就是 网页中的表单的使用场景了 表单标签 &#xff1a; 为什么需要表单 …

k8s-kubeapps图形化管理 21

结合harbor仓库 由于kubeapps不读取hosts解析&#xff0c;因此需要添加本地仓库域名解析&#xff08;dns解析&#xff09; 更改context为全局模式 添加repo仓库 复制ca证书 添加成功 图形化部署 更新部署应用版本 再次进行部署 上传nginx 每隔十分钟会自动进行刷新 在本地仓库…

CSS3新特性

简介 继CSS2之后&#xff0c;CSS3增加了很多新的特性&#xff0c;虽然W3C仍在规范中&#xff0c;但是很多新的CSS3属性已经在很多现代浏览器中得到了支持。 CSS3边框 在CSS3中&#xff0c;可以创建圆角边框&#xff0c;添加边框阴影&#xff0c;设置边框图片&#xff0c;利用…

如何在因果推断中更好地利用数据?

导读&#xff1a;本文转载自 DataFun 社区&#xff0c;分享题目为《如何在因果推断中更好地利用数据&#xff1f;》&#xff0c;主要介绍团队近期在因果上已发表论文的相关工作。本报告从两个方面来介绍我们如何利用更多的数据来做好因果推断&#xff0c;一个是利用历史对照数据…

表达式和语句

本文参考C Primer Plus进行C语言学习 文章目录 表达式语句 副作用和序列点复合语句&#xff08;块&#xff09;类型转换 1.表达式 表达式由运算符和运算对象组成。下面是一些表达式&#xff1a; 4 -6 421 a*&#xff08;bc/d&#xff09;/20 q5*2 xq%3 q>3 每个表达式都有一…

【TEE】内存完整性保护

Hash Functions&Merkle Tree 对读操作进行完整性检查&#xff0c;通过在加载的块上重新计算一个哈希&#xff0c;然后根据片外地址将得到的哈希与片上哈希比较。 缺点&#xff1a;不可承受的片上存储开销&#xff0c;并假设128位哈希和512位cache line&#xff0c;其开销为…

【Qt】Qwidget的常见属性

目录 一、Qwidget核心属性 二、enable属性 三、geometry属性 四、 WindowFrame的影响 五、windowTitle属性 六、windowIcon属性 七、qrc文件管理资源 八、windowOpacity属性 九、cursor属性 十、font属性 十一、toolTip属性 十二、focusPolicy属性 十三、styleShe…

Java代码审计安全篇-常见Java SQL注入

前言&#xff1a; 堕落了三个月&#xff0c;现在因为被找实习而困扰&#xff0c;着实自己能力不足&#xff0c;从今天开始 每天沉淀一点点 &#xff0c;准备秋招 加油 注意&#xff1a; 本文章参考qax的网络安全java代码审计&#xff0c;记录自己的学习过程&#xff0c;还希望…

[LeetCode][151]【学习日记】反转字符串中的单词

题目 151. 反转字符串中的单词 给你一个字符串 s &#xff0c;请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意&#xff1a;输入字符串s…

基于C#开发OPC DA客户端——搭建KEPServerEX服务

简介 OPC DA (OLE for Process Control Data Access) 是一种工业自动化领域中的通信协议标准&#xff0c;它定义了应用程序如何访问由OPC服务器提供的过程控制数据。OPC DA标准允许软件应用程序&#xff08;客户端&#xff09;从OPC服务器读取实时数据或向服务器写入数据&…

leetcode10正则表达式匹配

leetcode10正则表达式匹配 思路python 思路 难点1 如何理解特殊字符 ’ * ’ 的作用&#xff1f; 如何正确的利用特殊字符 ’ . ’ 和 ’ * ’ &#xff1f; * 匹配零个或多个前面的那一个元素 "a*" 可表示的字符为不同数目的 a&#xff0c;包括&#xff1a; "…

总线要点笔记

1. AXI/AHB/APB差异 AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构 AHB (Advanced High-performance Bus) 高级高性能总线 ASB (Advanced System Bus) 高级系统总线 APB (Advanced Peripheral Bus) 高级外围总线 AXI (Advanced eXtensible Interface) …

is not valid JSON at JSON.parse

在后台读取一个文件里的JSON数据&#xff0c;转换成字符串返回给前端&#xff0c;前端使用JSON.parse转换JSON报错。在将JSON校验和压缩后发现前端还是转换失败。在返回结果的时候可以看见一个小红点 最后排查&#xff0c;不带BOM的识别是Java遗留的一个bug。 解决方案&#…

边缘计算网关在机床生产中的应用-天拓四方

随着工业4.0的推进&#xff0c;物联网&#xff08;IoT&#xff09;技术在各个工业领域中的应用日益广泛。特别是在机床行业&#xff0c;物联网技术的引入不仅提高了生产效率&#xff0c;还实现了对机床设备的实时监控和远程维护。在这一背景下&#xff0c;边缘计算网关的角色愈…