C++map与set

文章目录

  • 前言
  • 一、map和set基础知识
  • 二、set与map使用示例
    • 1.set去重操作
    • 2.map字典统计
  • 总结


前言

本章主要介绍map和set的基本知识与用法。


一、map和set基础知识

map与set属于STL的一部分,他们底层都是是同红黑树来实现的。
①set常见用途是去重 ,set不允许修改key值。
②map是<key,value>结构,同样也不允许修改key值,map支持下标访问。

二、set与map使用示例

1.set去重操作

#include<iostream>
#include<set>
#include<string>
#include<vector>
using namespace std;int main() {vector<string> v1 = { "abandon","apple","banana","apple","orange" };set<string> s1(v1.begin(), v1.end());for (const auto& e : s1) {cout << e << " ";}return 0;
}

  可从下图看出,对于重复的apple,set成功完成了去重。
在这里插入图片描述

2.map字典统计

#include<iostream>
#include<map>
#include<string>
#include<vector>
using namespace std;int main() {string str("A blockhouse is a small castle that has four openings through which to shoot");vector<string> v1;size_t cur = 0;size_t pos = 0;while (pos != string::npos) {pos = str.find(" ", cur);string s(str, cur, pos - cur);cur = pos + 1;v1.emplace_back(s);}map<string, int> mp;for (const auto& e : v1) {mp[e]++;}for (const auto& e : mp) {cout << e.first << ":" << e.second << endl;}return 0;
}

  可以看到map很好统计了一句话中所有单词出现的频率。
在这里插入图片描述


总结

  本章主要介绍了map和set的基础知识,并且列举了一些应用场景。希望对读者有所帮助。

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

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

相关文章

数据技术进化史:从数据仓库到数据中台再到数据飞轮的旅程

随着大数据时代的到来&#xff0c;数据已经成为企业的核心资产之一。在过去几十年间&#xff0c;数据技术也随之不断演进&#xff0c;从早期的数据仓库到近年来热门的数据中台&#xff0c;再到正在快速发展的数据飞轮概念&#xff0c;每一步都是技术革新的体现。 一、数据仓库&…

电商跨境电商商城系统/网上商城接口/电商数据接口详情

电商API接口背景&#xff1a;电商运营中&#xff0c;数据分析这项工作越来越重要&#xff0c;许多品牌方也越来越热衷去做电商数据分析。不过&#xff0c;全面的数据该如何获取呢&#xff0c;此时&#xff0c;电商数据接口的重要性便凸显出来了。 电商API数据接口主要有以下特…

MyBatis 中的类型别名配置详解

目录 1. 什么是类型别名&#xff1f; 2. 类型别名的配置方法 2.1 使用单个标签 2.2 使用标签批量扫描 2.3 使用Alias注解 3. 注意事项 4. 相关知识拓展 4.1 MyBatis的映射文件 4.2 MyBatis的动态SQL 4.3 MyBatis与Spring的整合 4.4 性能优化 5. 结论 在现代Java开发…

外包干了两年,收获真不少...

有一种打工人的羡慕&#xff0c;叫做“大厂”。 真是年少不知大厂香&#xff0c;错把青春插稻秧。 但是&#xff0c;在深圳有一群比大厂员工更庞大的群体&#xff0c;他们顶着大厂的“名”&#xff0c;做着大厂的工作&#xff0c;还可以享受大厂的伙食&#xff0c;却没有大厂…

深度伪造语音检测(Deepfake Speech Detection, DSD)全面概述

近期&#xff0c;深度学习技术和神经网络在生成型人工智能领域已取得重大突破。如今&#xff0c;关键的通信媒介&#xff0c;如音频、图像、视频和文本&#xff0c;均能实现自动生成&#xff0c;并广泛应用于诸多领域&#xff0c;包括聊天机器人系统&#xff08;如ChatGPT&…

Kettle9连接mysql8.0.36失败处理

一、问题描述 kettle作为数据转换同步的工具&#xff0c;使用java开发&#xff0c;连接数据库使用jar的驱动包&#xff0c;比如oracle连接使用ojdbc8.jar&#xff0c;mysql连接使用mysql-connect-java-8.0.*,但是截止目前mysql8.0.33到8.0.36在官网是没有mysql驱动包的&#x…

IPD如何解决产品开发的典型问题

IPD&#xff08;Integrated Product Development&#xff0c;集成产品开发&#xff09;是一种领先的、成熟的产品开发的管理思想和管理模式。它是根据大量成功的产品开发管理实践总结出来的&#xff0c;并被大量实践证明的高效的产品开发模式。从汉捷咨询二十多年来为五百多家企…

18724 二叉树的遍历运算

### 思路 1. **递归构建树**&#xff1a; - 先序遍历的第一个节点是根节点。 - 在中序遍历中找到根节点的位置&#xff0c;左边部分是左子树&#xff0c;右边部分是右子树。 - 递归构建左子树和右子树。 2. **递归生成后序遍历**&#xff1a; - 递归生成左子树的…

飞睿智能实时雷达活体探测传感器模块,智能家居静止检测实时感知人员有无

随着科技的飞速发展&#xff0c;我们的生活正在经历着未有的创新。在这个创新的浪潮中&#xff0c;实时雷达活体探测传感器模块的技术正逐渐崭露头角&#xff0c;以其独特的优势为我们的生活带来安全与便捷。今天&#xff0c;我们就来详细探讨一下这项技术&#xff0c;看看它是…

【DP解密多重背包问题】:优化策略与实现

文章目录 什么是多重背包问题&#xff1f;多重背包问题的数学模型 例题多重背包问题Ⅰ多重背包问题Ⅱ 总结 什么是多重背包问题&#xff1f; 多重背包问题是一个经典的组合优化问题。与标准背包问题不同&#xff0c;在多重背包问题中&#xff0c;每种物品可以选择多个&#xf…

蓝桥杯15届C/C++B组省赛题目

问题描述 小蓝组织了一场算法交流会议&#xff0c;总共有 5050 人参加了本次会议。在会议上&#xff0c;大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。但有 77 个人&#xff0c;这 77 人彼此之间没有进行握手 (但这 77 人与…

1.分页查询(后端)—— Vue3 + SpringCloud 5 + MyBatisPlus + MySQL 项目系列(基于 Zulu 11)

本手册是基于 Vue3 SpringCloud5 MyBatisPlus MySQL 的项目结构和代码实现&#xff0c;旨在作为一个教学案例进行讲解。为了使案例更具普适性&#xff0c;文档中的公司名称、实体类、表名以及字段名称等敏感信息均已脱敏。 项目结构概述 项目采用标准的分层架构&#xff0…

linux命令之firewall-cmd用法

firewall-cmd Linux上新用的防火墙软件&#xff0c;跟iptables差不多的工具 补充说明 firewall-cmd 是 firewalld的字符界面管理工具&#xff0c;firewalld是centos7的一大特性&#xff0c;最大的好处有两个&#xff1a;支持动态更新&#xff0c;不用重启服务&#xff1b;第…

Spring Mybatis 动态语句 总结

1.简介 Mybatis 提供动态语句的功能来增强多条件变动的查询语句。 2.代码 if和where搭配使用&#xff1a; <select id"query" resultType"a">select * from t_a<where><!-- where内没有条件满足&#xff0c;不转成where&#xff0c;有…

langchain v0.3更新了什么?

版本改动 这是具体改动的链接 官方blog首先说明了&#xff1a; 所有软件包已在内部从 Pydantic 1 升级到 Pydantic 2。 所有软件包都完全支持在用户代码中使用 Pydantic 2&#xff0c;而无需使用 langchain_core.pydantic_v1 或 pydantic.v1 等桥接程序。 由于 Pydantic 1 已…

Python爬虫bs4基本使用

一、bs4 1、bs4获得标记的子集或父集或兄弟节点 &#xff08;1&#xff09;子集&#xff1a; 通过contents和children可以获得子集&#xff0c;前者获得的是字符串列表&#xff0c;后者获得的是一个列表迭代器对象&#xff0c;需要遍历获得内容 比如我们有以下代码和数据&a…

Android LiveData 数据倒灌

相关类型的文章很多&#xff0c;这里只做个人总结和其余的方法推荐 1.什么是数据倒灌&#xff1f; 所谓的“数据倒灌”&#xff1a;其实是类似粘性广播那样&#xff0c;当新的观察者开始注册观察时&#xff0c;会把上次发的最后一次的历史数据传递给当前注册的观察者。 一方…

【HTTP】请求“报头”(Host、Content-Length/Content-Type、User-Agent(简称 UA))

Host 表示服务器主机的地址和端口号 URL 里面不是已经有 Host 了吗&#xff0c;为什么还要写一次&#xff1f; 这里的 Host 和 URL 中的 IP 地址、端口什么的&#xff0c;绝大部分情况下是一样的&#xff0c;少数情况下可能不同当前我们经过某个代理进行转发。过程中&#xf…

2024年项目经理不能错过的开源项目管理系统大盘点:全面指南

在2024年&#xff0c;随着项目管理领域的不断发展&#xff0c;开源项目管理系统成为了项目经理们提升工作效率的利器。本文将全面盘点几款备受推荐的开源项目管理系统&#xff0c;帮助项目经理们找到最佳选择&#xff0c;不容错过。 在项目管理日益复杂的今天&#xff0c;开源项…

腾讯云点播及声音上传

文章目录 1、开通腾讯云点播2、获取腾讯云API密钥3、完成声音上传3.1、引入依赖3.2、参考&#xff1a;接入点地域3.3、参考&#xff1a;任务流设置3.4、首先修改配置&#xff1a;3.4.1、 3.5、TrackInfoApiController --》 uploadTrack()3.6、VodServiceImpl --》 uploadTrack(…