关键词:
11.1
map:存储关键字-值(key-value)对的容器,关键字起到索引的作用,值则表示与索引相关联的数据;关键字是唯一、有序存储的
vector:存储单一类型元素的容器;元素是按添加顺序存储的
11.2
list:频繁在任意处插入/删除元素但不要求有随机访问能力时
vector:在尾部插入/删除元素且要求具有随机访问能力时
deque:在首尾插入/删除元素且要求具有随机访问能力时
map:统计每个单词在输入中出现的次数
set:查找集合中是否包含某个数
11.3
1 #include <iostream> 2 #include <fstream> 3 #include <iterator> 4 #include <vector> 5 #include <string> 6 #include <deque> 7 #include <list> 8 #include <forward_list> 9 #include <stack> 10 #include <queue> 11 #include <algorithm> 12 #include <functional> 13 #include <map> 14 #include <set> 15 16 using namespace std; 17 using namespace std::placeholders; 18 19 int main() 20 { 21 map<string, int> jzd; 22 string word; 23 while (cin >> word) { 24 ++jzd[word]; 25 } 26 for (auto &i : jzd) { 27 cout << i.first << " occurs about " << i.second << (i.second > 1 ? "times. " : "time "); 28 } 29 return 0; 30 }
11.4
1 #include <iostream> 2 #include <fstream> 3 #include <iterator> 4 #include <vector> 5 #include <string> 6 #include <deque> 7 #include <list> 8 #include <forward_list> 9 #include <stack> 10 #include <queue> 11 #include <algorithm> 12 #include <functional> 13 #include <map> 14 #include <set> 15 #include <cctype> 16 17 using namespace std; 18 using namespace std::placeholders; 19 20 int main() 21 { 22 map<string, int> jzd; 23 string word; 24 while (cin >> word) { 25 for (auto &i : word) 26 if (i <= ‘Z‘ && i >= ‘A‘) i = tolower(i); 27 for (auto it = word.begin(); it != word.end(); ++it) { 28 if (ispunct(*it)) { 29 it = word.erase(it); 30 --it; 31 } 32 } 33 ++jzd[word]; 34 } 35 for (auto &i : jzd) { 36 cout << i.first << " occurs about " << i.second << (i.second > 1 ? "times. " : "time "); 37 } 38 return 0; 39 }
11.5
map:每个元素都是一个关键字-值对,初始化时必须提供关键字类型和值类型
set:每个元素只是一个关键字,没有值,元素类型就是关键字类型
11.6
set:元素都是唯一有序的
list:插入/删除元素很方便
11.7
1 #include <iostream> 2 #include <fstream> 3 #include <iterator> 4 #include <vector> 5 #include <string> 6 #include <deque> 7 #include <list> 8 #include <forward_list> 9 #include <stack> 10 #include <queue> 11 #include <algorithm> 12 #include <functional> 13 #include <map> 14 #include <set> 15 #include <cctype> 16 17 using namespace std; 18 using namespace std::placeholders; 19 20 int main() 21 { 22 map<string, vector<string>> imap; 23 string name1, name2; 24 while (cin >> name1) { 25 cin >> name2; 26 imap[name1].push_back(name2); 27 } 28 for (auto &i : imap) { 29 for (auto &j : i.second) { 30 cout << i.first << " " << j << endl; 31 } 32 cout << endl; 33 } 34 return 0; 35 }
11.8
1 #include <iostream> 2 #include <fstream> 3 #include <iterator> 4 #include <vector> 5 #include <string> 6 #include <deque> 7 #include <list> 8 #include <forward_list> 9 #include <stack> 10 #include <queue> 11 #include <algorithm> 12 #include <functional> 13 #include <map> 14 #include <set> 15 #include <cctype> 16 17 using namespace std; 18 using namespace std::placeholders; 19 20 void use_set(const vector<string> &vec) 21 { 22 set<string> iset(vec.begin(), vec.end()); 23 for (auto &i : iset) cout << i << " "; 24 cout << endl; 25 } 26 27 void use_vector(const vector<string> &vec) 28 { 29 vector<string> ivec(vec.begin(), vec.end()); 30 //unique必须要先sort过 31 sort(ivec.begin(), ivec.end()); 32 vector<string>::iterator it = unique(ivec.begin(), ivec.end()); 33 ivec.erase(it, ivec.end()); 34 for (auto &i : ivec) cout << i << " "; 35 cout << endl; 36 } 37 38 int main() 39 { 40 vector<string> vec = {"scout", "peanut", "jack", "peanut", "amazon", "jack", "demo"}; 41 use_set(vec); 42 use_vector(vec); 43 return 0; 44 }
11.9
第十一章持有对象
一、基本概念 Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: 1)Collection。一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能有重复元素。Qu... 查看详情
第十一章
因为是手机上传,有些图没有上传好,晚上回去重新弄。 查看详情
第十一章网络编程
--------------------------------------------------------Sun11Feb13:30:10GMT2018--------------------------------------------------------第十一章网络编程11.1Theclient-ServerprogrammingModelThefundamentaloperati 查看详情
《java编程思想》学习笔记——第十一章持有对象
JAVA容器类类库的用途是"保存对象",并将其划分为两个不同的概念: 1)Collection。一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能用重复元... 查看详情
第十一章
一.分组查询 1.语法 SELECT...FROM...GROUPBY... --分组查询Groupby selectCOUNT(*)as学生人数,GradeIdas年级编号fromStudentgroupbyGradeId&n 查看详情
高数(a)下第十一章(持续更新)
11.1 11.2 查看详情
第十一章linq
DataLibusingSystem;usingSystem.Collections.Generic;namespaceWrox.ProCSharp.LINQ{[Serializable]publicclassTeam{publicTeam(stringname,paramsint[]years){this.Name=name;this.Years=newList<int>(years 查看详情
html第十一章总结
#第十一章总结:本章的标题为:layoutandpositioningArrangingElement##前言:这一章节,通过已经知道的boxmodel的概念,进行讲述关于layout的知识,并且通过这些知识进行创造专业的设计和multicolumnlayouts.##谈谈Flow###对于blockelement*对blockeleme... 查看详情
第十一章多元线性回归与相关分析
第十一章线程
第十一章线程11.3线程标识每个线程也有一个线程ID,线程ID只有在它所属的进程上下文中才有意义。/* 比较两个线程ID,相等返回非0数值,否则返回0*/#include<pthread.h>intpthread_equal(pthread_ttid1,pthread_ttid2); /* 获得自身... 查看详情
第十一章
(1)1.万物皆对象:(地球上有什么?我们会不自觉的将地球上的事物归为具体类别) 2.对象:顾客 , 收银员; 官方定义:用来... 查看详情
第十一章笔记
&n 查看详情
第十一章习题答案
第十一章练习题答案?1.如何把/etc/passwd中用户uid大于500的行给打印出来?awk-f‘:‘‘$3>500‘/etc/passwd?2.awk中nr,nf两个变量表示什么含义awk-f‘:‘‘{print$nr}‘/etc/passwd会打印出什么结果出来?nr表示行数,nf表示一共有多少段?awk-f‘:... 查看详情
“全栈2019”java第十一章:标识符
...开发环境JDKv11IntelliJIDEAv2018.3文章原文链接“全栈2019”Java第十一章:标识符下一章“全栈2019”Java第十二章:变量学习小组加入同步学习小组,共同交流与进步。方式一:关注头条号Gorhaf,私信“Java学习小组”。方式二:关注公... 查看详情
第十一章:dom扩展
DOM扩展选择符APIquerySelector方法querySelectorAll方法matchesSelector方法元素遍历HTML5与类相关的补充getElementsByClassName方法classList属性焦点管理HTMLDocument的变化readyState属性兼容模式head属性字符集属性自定义数据属性插入标记innerHTML属性ou... 查看详情
第十一章
一、理解什么是类和对象万事万物皆对象 1、属性——对象具有的特征(特点) 2、方法——对象可执行的操作(能干什么事) 3、对象的定义:是一个客观存在的,看的见或摸得着的实体,... 查看详情
第十一章
“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。SELECT列表中只能包含:1.被分组的列2.位... 查看详情
第十一章:持有对象(代码片段)
Collection List ArrayList indexOf,contains,remove,removeAll都会用到equals方法 subList所产生的列表幕后就是初始列表 retainAll方法所产生的行为依赖于equals方法 注... 查看详情