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", ...
随机推荐
- docker-compose 的使用和负载均衡的初探
docker-compose 的使用和负载均衡的初探 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Docker 私有仓库 1. ...
- centos7 下安装 mysql5.7
由于CentOS7的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件. 下载命令: wget https://dev.mysql.com/get/mysql57-commu ...
- PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句
对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本.我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内容.所以在这里,我们就不再多讲理论方面的 ...
- Centos8.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台
前言 本篇文章引用了小菠萝测试笔记,大部分内容非原创,基于自身实操过程中,完善了部分. 本篇随笔是在Linux上搭建的,后面会补充在docker以及k8s上如何部署安装 工具介绍 工具 介绍 Jmet ...
- 关于selenium添加使用代理ip
最近在爬某个网站,发现这个网站的反爬太厉害了,正常时候的访问有时候都会给你弹出来验证,验证你是不是蜘蛛,而且requests发的请求携带了请求头信息,cookie信息,代理ip,也能识别是爬虫,他应该 ...
- P7099-[yLOI2020]灼【数学期望,结论】
正题 题目链接:https://www.luogu.com.cn/problem/P7099 题目大意 给出\(n\)个坐标轴上的点,\(q\)次询问从某点出发每次等概率向左或者向右一格求到达某个给出 ...
- ❤️❤️新生代农民工爆肝8万字,整理Python编程从入门到实践(建议收藏)已码:8万字❤️❤️
@ 目录 开发环境搭建 安装 Python 验证是否安装成功 安装Pycharm 配置pycharm 编码规范 基本语法规则 保留字 单行注释 多行注释 行与缩进 多行语句 数据类型 空行 等待用户输 ...
- Batch Normalization和Layer Normalization
Batch Normalization:对一个mini batch的样本,经过一个nueron(或filter)后生成的feature map中的所有point进行归一化.(纵向归一化) Layer ...
- Redux使用指南
Redux使用指南 00-简介 本文主要是用来记录Redux结合React的使用过程,帮助大家在使用Redux的时候,能够更好的理解Redux,从而更好地使用它 01-为什么需要Redux JavaS ...
- HTML常用的css属性(及其简写)
这篇文章主要介绍几个常用css属性和简写 本文目录: 1.背景属性 2.边框属性 3.字体属性 4.外边距 5.填充 6.颜色 1.background[背景属性] background-color ...