C++ map操作——插入、查找、遍历
c++ map 操作学习
#include <iostream>
#include <map>
#include <string>
#include <vector> using namespace std; typedef struct clientInfo_t {
int fd;
long timeOut;
}clientInfo_t; int main(int argc, char **argv)
{ map<int, clientInfo_t> clientMap = {};
clientInfo_t tmpInfo = {}; /*map init*/
for(int i = 3; i < 20; ++i) {
tmpInfo.fd = i;
tmpInfo.timeOut = -1;
//clientMap.insert(pair<int, clientInfo_t>(i, tmpInfo));
clientMap[i] = tmpInfo;
} /*map trave*/
for (auto m = clientMap.begin(); m != clientMap.end(); ++m) {
cout <<"client fd = "<< m->second.fd << " timeOut = " <<m->second.timeOut<<endl;
} tmpInfo.fd = 15;
tmpInfo.timeOut = -1;
/*map find*/
auto m = clientMap.find(15);
if (m != clientMap.end() ) {
m->second.timeOut = 0;
cout <<"map find fd = " <<m->second.fd<<endl;;
} /*map erase*/
for (auto m = clientMap.begin(); m != clientMap.end(); /*do nothing*/) {
if(m->second.fd % 2 == 0) {
m = clientMap.erase(m);
}
else {
++m;
}
} for (auto m = clientMap.begin(); m != clientMap.end(); ++m) {
cout <<"client fd = "<< m->second.fd << " timeOut = " <<m->second.timeOut<<endl;
} /*map insert*/
tmpInfo.fd = 25;
tmpInfo.timeOut = 25;
/*this will replace key 13 use new value*/
clientMap[13] = tmpInfo; /*new insert*/
clientMap[23] = tmpInfo; /*this will insert failed, becase key 17 exist*/
clientMap.insert(pair<int, clientInfo_t>(17, tmpInfo)); /*only not exist key can insert success*/
clientMap.insert(pair<int, clientInfo_t>(27, tmpInfo));
cout <<"===insert element end======"<<endl; for (auto m = clientMap.begin(); m != clientMap.end(); ++m) {
cout <<"client fd = "<< m->second.fd << " timeOut = " <<m->second.timeOut<<endl;
} return 0;
}
C++ map操作——插入、查找、遍历的更多相关文章
- C++(十一)— map的插入、查找、删除
标准库map类型是一种以键-值(key-value)存储的数据类型. map是STL的一个关联容器.它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值 ...
- 如何遍历Map操作总结
Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "123"); ...
- Java集合list,map,set区别及遍历
1.1 List.Set.Map基本区别 1.List,Set都是继承Collection接口,Map不是. 2.List:LinkedList.ArrayList.Vector Set :HashS ...
- 如何优雅的传递 stl 容器作为函数参数来实现元素插入和遍历?
问题背景 开始正文之前,做一些背景铺垫,方便读者了解我的工程需求.我的项目是一个客户端消息分发中心,在连接上消息后台后,后台会不定时的给我推送一些消息,我再将它们转发给本机的其它桌面产品去做显示.后台 ...
- 萌新笔记——C++里创建 Trie字典树(中文词典)(一)(插入、遍历)
萌新做词典第一篇,做得不好,还请指正,谢谢大佬! 写了一个词典,用到了Trie字典树. 写这个词典的目的,一个是为了压缩一些数据,另一个是为了尝试搜索提示,就像在谷歌搜索的时候,打出某个关键字,会提示 ...
- HDU 4941 Magical Forest(map映射+二分查找)杭电多校训练赛第七场1007
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4941 解题报告:给你一个n*m的矩阵,矩阵的一些方格中有水果,每个水果有一个能量值,现在有三种操作,第 ...
- c/c++ 标准库 map set 插入
标准库 map set 插入 一,插入操作 有map如下: map<string, size_t> cnt; 插入方法: 插入操作种类 功能描述 cnt.insert({"abc ...
- 小白鼠排队(map容器插入数据的四种方法)
题目描述 N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子.现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色.帽子的颜色用“red”,“ ...
- JavaScript中的Map、Set及其遍历
Map Map是一组键值对的结构,具有极快的查找速度. Map的定义. //空map设值key-value var m = new Map(); m.set("XiaoMing", ...
随机推荐
- [转]SpringBoot系列——花里胡哨的banner.txt
Creating ASCII Text Banners from the Linux Command Line In Ubuntu, Debian, Linux Mint etc. $ sudo ap ...
- 论文解读(BYOL)《Bootstrap Your Own Latent A New Approach to Self-Supervised Learning》
论文标题:Bootstrap Your Own Latent A New Approach to Self-Supervised Learning 论文方向:图像领域 论文来源:NIPS2020 论文 ...
- CodeForce-782B The Meeting Place Cannot Be Changed(高精度二分)
https://vjudge.net/problem/CodeForces-782B B. The Meeting Place Cannot Be Changed time limit per tes ...
- 剑指offer计划20( 搜索与回溯算法中等)---java
1.1.题目1 剑指 Offer 07. 重建二叉树 1.2.解法 注释解法. 1.3.代码 class Solution { int[] preorder; HashMap<Integer, ...
- 超详细:command not found:scrapy解决办法(Mac下给zsh添加scrapy环境变量)
背景:本来打算用scrapy 创一个爬虫项目,但是无论如何都显示zsh: command not found: scrapy,看了很多篇blog才解决了问题,决定记录一下. 主要参考的blog: ht ...
- 如何创建 Office LTSC 2021 VL(批量许可)版本的安装 ISO
Office LTSC 2021 发布 2021 年 9 月 16 日,微软正式发布了支持 Office 2021 的部署工具(Office Deployment Tool),这意味着 Office ...
- Jmeter系列(17)- 常用断言之JSON断言
模块分析 Assert JSON Path exists:需要断言的 JSON 表达式 Additionally assert value:如果要根据值去断言,请勾选 Match as regular ...
- Docker DevOps实战:Docker+Jenkins+Python+Pytest+Allure(1)- 创建Jenkins容器、安装Python环境、安装项目依赖类库、安装Allure报告插件
前言: 本文实操笔记参照菠萝笔记,安装过程中的坑大家可以参考下 创建Jenkins容器 # 下载Jenkins镜像 [root@localhost ~]# docker pull jenkins/je ...
- Jetpack Compose学习(5)——从登录页美化开始学习布局组件使用
原文:Jetpack Compose学习(5)--从登录页美化开始学习布局组件使用 | Stars-One的杂货小窝 本篇主要讲解常用的布局,会与原生Android的布局控件进行对比说明,请确保了解A ...
- [转载]ssh证书登录
转载链接 前言 本文基于实际Linux管理工作,实例讲解工作中使用ssh证书登录的实际流程,讲解ssh证书登录的配置原理,基于配置原理,解决实际工作中,windows下使用SecureCRT证书登录的 ...