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

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.lryc.cn/news/447815.html

相关文章:

  • 随手记:前端一些定位bug的方法
  • 【深度学习】03-神经网络2-1损失函数
  • Python爬虫APP程序:构建智能化数据抓取工具
  • 第五部分:2---中断与信号
  • 梧桐数据库(WuTongDB):SQL Server Query Optimizer 简介
  • Scrapy框架介绍
  • Facebook对现代社交互动的影响
  • Java项目运维有哪些内容?
  • 【学习笔记】MIPI
  • QMake 脚本知识点记录
  • Kubernetes配置管理(kubernetes)
  • macOS与Ubuntu虚拟机使用SSH文件互传
  • defineExpose 显式导出子组件方法
  • vue 解决列表界面进入明细返回查询条件不变
  • 华为NAT ALG技术的实现
  • 【移植】轻量系统STM32F407芯片移植案例
  • k8s 修炼手册
  • 重回1899元,小米这新机太猛了
  • jmeter本身常用性能优化方法
  • Vue3中el-table组件实现分页,多选以及回显
  • 柯桥韩语学校|韩语每日一词打卡:회갑연[회가변]【名词】花甲宴
  • python概述
  • 使用celery+Redis+flask-mail发送邮箱验证码
  • 【第十四章:Sentosa_DSML社区版-机器学习之时间序列】
  • Vue3.X + SpringBoot小程序 | AI大模型项目 | 饮食陪伴官
  • 【C++】检测TCP链接超时——时间轮组件设计
  • 中国新媒体联盟与中运律师事务所 建立战略合作伙伴关系
  • 【ArcGIS微课1000例】0121:面状数据共享边的修改方法
  • 图论(dfs系列) 9/27
  • 如何在Windows上安装Docker