笔记:C++学习之旅---关联容器
<iostream>
<string>
<map>
<set>
namespace
std;
main()
map
<
string
,
size_t
> word_count;
string
word;
set
<
string
> exclude = {
"The"
,
"But"
,
"And"
,
"Or"
,
"An"
,
"A"
,
"the"
,
"but"
,
"and"
,
"or"
,
"an"
,
"a"
};
//忽略的单词
"请输入一串英文单词\n"
;
while
(cin >> word)
if
(word ==
"#"
)
break
;
if
(exclude.find(word) == exclude.end())
for
(
const
auto
&w : word_count)
" occurs "
<< w.second << ((w.second > 1) ?
" times "
:
" time "
) << endl;
return
0;
<iostream>
<map>
<string>
<algorithm>
namespace
std;
print(
map
<
string
,
size_t
> &
map
)
for
(
auto
&m : map)
":"
<<m.second<<endl;
word_count_pro(
map
<
string
,
size_t
> &
m
)
string
word;
"请输入一串英文单词\n"
;
while
(cin >> word)
if
(word ==
"#"
)
break
;
for
(
auto
&ch : word)
//大小写转换;
//ispunct 判断是否为标点符号或者特殊字符进行删除;
m
[word];
m
);
main()
map
<
string
,
size_t
> map;
return
0;
<iostream>
<vector>
<map>
<set>
namespace
std;
main()
vector
<
int
> vec;
for
(
vector
<
int
>::
size_type
i = 0; i != 10; ++i)
set
<
int
> iset(vec.cbegin(), vec.cend());
multiset
<
int
> miset(vec.cbegin(), vec.cend());
//20
//10
//20
return
0;
<iostream>
<vector>
<string>
<map>
namespace
std;
print(
multimap
<
string
,
vector
<
string
>> &
family
)
//按照英文名称习惯打印名字,如Tom.Green
for
(
auto
&member : famil
y
)
"Mumber is:"
<<
" "
<< endl;
for
(
auto
it = member.second.begin(); it != member.second.end(); ++it)
"."
<< member.first << endl;
main()
string
fname =
""
, name =
""
;
vector
<
string
> vec = {
"Tom"
,
"Jerry"
,
"Lucy"
};
multimap
<
string
,
vector
<
string
>> family = { {
"Green"
, vec }, {
"white"
, vec } };
//打印结果
//先输入family name,然后自己name
//while (cin >> fname >> name)
//family[fname].push_back(name);
//修改地方,先输入名,再输入姓,可以重复保存了,所以不像上面那样来插入名字
"请输入你的名:\n"
;
while
(cin >> fname)
vector
<
string
> vec;
"请输入你的性(输入end退出):\n"
;
while
(cin >> name && name !=
"end"
)
//以end结束输入
//将姓插入到名前面
//添加新家庭后再次打印
return
0;
<iostream>
<vector>
<map>
<string>
namespace
std;
main()
map
<
string
,
size_t
> word_count;
string
word;
"请输入一串字符串\n"
;
while
(cin >> word)
if
(word ==
"#"
)
break
;
auto
ret = word_count.insert({ word, 1 });//创建一个pair
if
(!ret.second)
for
(
auto
&w : word_count)
" "
<< w.second << ((w.second > 1) ?
" times "
:
" time "
)<<endl;
return
0;
<iostream>
<string>
<map>
<algorithm>
namespace
std;
main()
multimap
<
string
,
string
> authors{ {
"alan"
,
"DMA"
}, {
"pezy"
,
"LeetCode"
}, {
"alan"
,
"CLRS"
},
"wang"
,
"FTP"
}, {
"pezy"
,
"CP5"
}, {
"wang"
,
"CPP-Concurrency"
} };
"erase before:\n"
;
for
(
auto
&a : authors)
":"
<<a.second<< endl;
string
author =
"pezy"
;
string
work =
"CP5"
;
auto
found = authors.find(author);
//找到作者;
auto
count = authors.count(author);
//记录次数;
while
(count)
if
(found->second == work)
//找到CP5,然后删除;
break
;
"erase after:\n"
;
for
(
const
auto
& author : authors)
":"
<< author.second << std::endl;
return
0;
笔记:C++学习之旅---关联容器的更多相关文章
- 【c++ Prime 学习笔记】第11章 关联容器
关联容器的元素按照关键字来保存和访问,而顺序容器的元素是按照在容器中的位置来保存和访问 关联容器支持高效的关键字查找和访问 2种关联容器: map中的元素是关键字-值对(key-value对),关键字 ...
- C++ Primer 读书笔记:第10章 关联容器
第10章 关联容器 引: map set multimap multiset 1.pair类型 pair<string, int> anon anon.first, anon.second ...
- 笔记-JavaWeb学习之旅19
Redis:redis是一款高性能的NOSQL系列的非关系型数据库 NOSQL: Not Only SQL ,意即"不仅仅是SQL",是一项全新的数据库理念,泛指非关系型数据库 r ...
- 笔记-JavaWeb学习之旅14
JSTL:JavaServer Pages Tag Library JSP标准标签库 if标签 <%@ page import="java.util.ArrayList" % ...
- 笔记-JavaWeb学习之旅11
请求转发:一种在服务器内部的资源跳转方式 使用步骤 1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path) ...
- 笔记-JavaWeb学习之旅8
Window对象-定时器方法 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 笔记-JavaWeb学习之旅7
JavaScript基础 概念:一门客户端脚本语言,运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎,是一个脚本语言,不需要编译,直接就可以被浏览器解析执行. JavaScript ...
- 笔记-JavaWeb学习之旅5
CP30的演示 package cn.itcast.datasourcejdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import j ...
- 笔记-JavaWeb学习之旅3
数据库的设计 1.多表之间的关系 一对一 一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键 一对多 在多的一方建立外键指向一的一方建立主键 多对多 多对多关系实现需要借助第三张中间表.中间表 ...
- 笔记-JavaWeb学习之旅2
数据库的基本概念 1.数据库:DataBase 简称 DB,用于存储和管理数据的仓库 特点: 1.持久化存储数据的,其实数据库就是一个文件系统, 2.方便存储和管理数据 3.使用了统一操作数据库 -- ...
随机推荐
- Matlab %陆
第六章 MATLAB IN ENGINEERING Polynomial Differentiation多项式微分 %幂级数 f(x) = x^3-2x-5; p = [1 0 -2 -5] %自 ...
- 实验二 K-近邻算法及应用
博客班级 https://edu.cnblogs.com/campus/ahgc/machinelearning 作业要求 https://edu.cnblogs.com/campus/ahgc/ma ...
- (c语言描述 函数递归汉诺塔)
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按大小顺序 ...
- 4.3Dsmax捕捉工具
平面视图: Line 线 多用于平面视图(按住shift可创建水平或垂直的线) Cirde 圆 Arc 弧形 NGon 多边形 Text 文本 输入中文会出现方框,换一下字体即可 Egg 鹅卵形 re ...
- SSH、SFTP、FTP、Telnet、SCP、TFTP协议的原理
一.SSH协议1.什么是SSH?SSH全称 安全外壳协议(Secure Shell),,是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境. 如果一个用户从本地计算机,使用SSH ...
- Word 找不到 Endnote选项
Word 2010 找不到 Endnote选项汇总(不是Office有效加载项)因为基本百度上的问题我全都遇到了-说明:在我们使用Word的过程中,常常发现没有Endnote选项.然后去找百度方法:1 ...
- 如何加快打开网页的速度------通过调节“QoS数据包计划程序”的“限制可保留宽带”实现&如何解决win10可能找不到gpedit.msc的问题
参考:http://www.windowszj.com/news/win10/42119.html http://www.docin.com/p-1510367352.html(QoS数据包计划程序有 ...
- 声网推出首个完整实时合唱解决方案 即将上线“咪哒”全国线下K歌房
4月20日,声网Agora宣布对实时合唱技术方案全面升级,帮助国内知名迷你KTV品牌"咪哒"实现国内首个支持多终端.多人合唱.高音质的完整实时合唱解决方案的落地,结束了国内K歌行业 ...
- 论文解读(CosFace)《CosFace: Large Margin Cosine Loss for Deep Face Recognition》
论文信息 论文标题:CosFace: Large Margin Cosine Loss for Deep Face Recognition论文作者:H. Wang, Yitong Wang, Zhen ...
- 企业信息化-3.6 IT资源管理2-系统及应用
笔者从业的主要是App Dev&Ops,对操作系统有些了解,对应用软件了解的更多.以下是总结了以前跟Host&Server Service.Cloud Service.IT Solut ...