C++ 关联容器
来源:互联网 发布:淘宝婴儿用品代理 编辑:程序博客网 时间:2024/06/05 22:55
map
map
能够存储<key, value>
对的信息C++primer 5th
练习11.7
- 输入字符串,忽略
大小写
和点
代码
#include<iostream>#include<exception>#include<fstream>#include<sstream>#include<string>#include<vector>#include<iterator>#include<list>#include<deque>#include<stack>#include<queue>#include<concurrent_priority_queue.h>#include<algorithm>#include<numeric>#include<functional> //bind#include<map>using namespace std;bool Smaller(const int &a, const int &b){ return a <= b;}int main(){ cout << "start!" << endl; map<string, size_t> word_cnt; string bword, aword; while (cin >> bword) { aword.clear(); for (auto iter = bword.begin(); iter != bword.end(); iter++) { if (*iter != '.') { aword.push_back(tolower(*iter)); } } ++word_cnt[ aword ]; } for (const auto &w : word_cnt) { cout << w.first << " occurs " << w.second << " times" << endl; } cout << "end!" << endl; system("pause"); return EXIT_SUCCESS;}
insert的使用
- 可以插入
pair
的数据类型 - 如果插入的
key
之前容器中已经有的话,则插入失败 - 如果每个
<key,value>
的first
值无法修改,second
值可以修改。 代码
#include<iostream>#include<exception>#include<fstream>#include<sstream>#include<string>#include<vector>#include<iterator>#include<list>#include<deque>#include<stack>#include<queue>#include<concurrent_priority_queue.h>#include<algorithm>#include<numeric>#include<functional> //bind#include<map>#include<set>using namespace std;int main(){ cout << "start!" << endl; map<string, string> aus = { {"11", "22"}, {"33", "44"}}; aus.insert(pair<string,string>("55", "66")); aus.insert(pair<string, string>("55", "77")); auto m = aus.begin(); //m->first = "sdddd"; m->second = 455; cout << "end!" << endl; system("pause"); return EXIT_SUCCESS;}
- 可以插入
set
set
可以存储非重复的元素multiset
可以存储重复元素set
和multiset
是按照一定的存储顺序存储的代码
#include<iostream>#include<exception>#include<fstream>#include<sstream>#include<string>#include<vector>#include<iterator>#include<list>#include<deque>#include<stack>#include<queue>#include<concurrent_priority_queue.h>#include<algorithm>#include<numeric>#include<functional> //bind#include<map>#include<set>using namespace std;bool Smaller(const int &a, const int &b){ return a <= b;}int main(){ cout << "start!" << endl; vector<int> vi; for (int i = 0; i < 10; i++) { vi.push_back( i ); vi.push_back(i); } set<int> si(vi.begin(), vi.end()); multiset<int> msi(vi.begin(), vi.end()); cout << vi.size() << endl; cout << si.size() << endl; cout << msi.size() << endl; cout << "end!" << endl; system("pause"); return EXIT_SUCCESS;}
pair
- pair可以存储两组数据成员。
- 这个例子是在
C++primer 5th
的练习11.12
代码
#include<iostream>#include<exception>#include<fstream>#include<sstream>#include<string>#include<vector>#include<iterator>#include<list>#include<deque>#include<stack>#include<queue>#include<concurrent_priority_queue.h>#include<algorithm>#include<numeric>#include<functional> //bind#include<map>#include<set>using namespace std;int main(){ cout << "start!" << endl; vector<pair<string, int>> vp; int index = 0; int num; string str; string input; while (cin >> input) { if (index == 0) { str = input; index++; } else { num = atoi(input.c_str()); vp.push_back(pair<string, int>(str, num)); index = 0; } } for (int i = 0; i < vp.size(); i++) { cout << "first : " << vp[i].first << ", second : " << vp[i].second << endl; } cout << "end!" << endl; system("pause"); return EXIT_SUCCESS;}
0 0
- C++primer 关联容器
- 《C++primer》关联容器
- C++MAP关联容器
- C++map关联容器
- 数据结构-关联容器(C++)
- C++----关联容器
- 关联容器(Java/C++)
- 【C/C++】关联容器pair map set
- C++-关联容器类型map
- c++Primer笔记(十 关联容器)
- C ++ primer 中说的关联容器
- C++primer U10 读书笔记 关联容器
- 【足迹C++primer】36、使用关联容器
- 【足迹C++primer】37、关联容器概述
- C++STL之关联容器【map】【set】
- 学习C++——关联容器
- c++primer(十)关联容器
- C++primer学习:关联容器(1)
- 基于catmap的置乱算法
- 微信本地淘客的意义
- phpmyadmin查询字符串显示完整字符串
- 安装Qt过程中出现g++: command not found
- Linux初步了解
- C++ 关联容器
- express不是内部或外部命令,也不是可运行的程序或批处理文件
- iOS-崩溃日志收集(Bugly&BugHD)
- 加载中...
- 【网络安全】分分钟理解什么是数字签名
- Google的GSON处理JSON解析
- SQL学习整理(一)
- shell 中对小数进行比较的方法总结
- 为什么List的构造方法是ArrayList(),而不是同名的List()?