直接贴代码:基础的东西,不解释
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main(){
map<string,int>m;
m.insert(make_pair("zhang1",21));
m.insert(make_pair("zhang2",22));
m.insert(make_pair("zhang3",23));
(*m.begin()).second=22;
cout<<(*m.begin()).first<<"--->"<<(*m.begin()).second<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main(){
map<string,int>m;
m.insert(map<string,int>::value_type("zhang",22));
m.insert(pair<string,int>("li",20));
m.insert(make_pair("lai",28));
m["tan"]=m["lai"];
m.erase("lai");
for(map<string,int>::iterator itera=m.begin();itera!=m.end();++itera){
cout<<(*itera).first<<"---->"<<(*itera).second<<endl;
}
cout<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main(){
map<string,double>m;
m["BASF"]=369.50;
m["VW"]=413.50;
m["Daimler"]=819.00;
m["BMW"]=842.20;;
for(map<string,double>::iterator itera=m.begin();itera!=m.end();++itera){
cout<<(*itera).first<<"---->"<<(*itera).second<<endl;
}
cout<<"******************************"<<endl;
for(map<string,double>::iterator itera=m.begin();itera!=m.end();++itera){
(*itera).second=(*itera).second*2;
}
for(map<string,double>::iterator itera=m.begin();itera!=m.end();++itera){
cout<<(*itera).first<<"---->"<<(*itera).second<<endl;
}
cout<<"******************************"<<endl;
m["Volkswagen"]=m["VW"];
m.erase("VW");
for(map<string,double>::iterator itera=m.begin();itera!=m.end();++itera){
cout<<(*itera).first<<"----->"<<(*itera).second<<endl;
}
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<map>
#include<iomanip>
using namespace std;
int main(){
cout.setf(ios::left,ios::adjustfield);
multimap<string,string>m;
m.insert(make_pair("day","Tag"));
m.insert(make_pair("strange","Auto"));
m.insert(make_pair("car","elegant"));
m.insert(make_pair("trait","Merkmal"));
m.insert(make_pair("strange","seltsam"));
m.insert(make_pair("smart","raffiniert"));
m.insert(make_pair("smart","klug"));
m.insert(make_pair("clever","raffiniert"));
cout<<" english"<<" german"<<endl;
cout<<"---------------------------------------"<<endl;
for(multimap<string,string>::iterator itera=m.begin();itera!=m.end();++itera){
cout<<" "<<setw(10)<<(*itera).first<<" "<<(*itera).second<<endl;
}
string word("smart");
cout<<word<<":"<<endl;
for(multimap<string,string>::iterator itera=m.lower_bound(word);itera!=m.upper_bound(word);++itera){
cout<<" "<<(*itera).second<<endl;
}
word="raffiniert";
cout<<word<<":"<<endl;
for(multimap<string,string>::iterator itera=m.begin();itera!=m.end();++itera){
if((*itera).second==word){
cout<<" "<<(*itera).first<<endl;
}
}
system("pause");
return 0;
}
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
template<typename K,typename V>
class value_equals{
private:
V value;
public:
value_equals(const V& v):value(v){}
bool operator()(pair<const K,V>elem){
return elem.second==value;
}
};
int main(){
map<int,int>m;
m[1]=7;
m[2]=6;
m[3]=5;
m[4]=4;
m[5]=3;
m[6]=2;
m[7]=1;
int count=m.count(3);
cout<<count<<endl;
map<int,int>::iterator iter=m.find(3);
if(iter!=m.end()){
cout<<(*iter).first<<": "<<(*iter).second<<endl;
}
map<int,int>::iterator itera=find_if(m.begin(),m.end(),value_equals<int,int>(3));
if(itera!=m.end()){
cout<<(*itera).first<<": "<<(*itera).second<<endl;
}
system("pause");
return 0;
}
分享到:
相关推荐
c++ vs2019 cpp20规范的STL库的map与multimap源码分析
map/multimap属于**关联式容器**,底层结构是用二叉树实现。
一共四个doc文件,list综合实例、multimap和map的实例、set和multiset的综合实例、vector综合实例
本程序用c++标准库中的快速排序算法以及容器map和multimap实现了对文件中出现频率靠前的单词进行了统计,至于文件大小取决于你机器所剩的内存数,如果文件数据时海量的(上亿)则本程序可能不适合,需要按照海量数据...
vector<string> topKFrequent(vector<string>& words, int k) {//1,建立 map 映射关系,通过 ke
6.6.3 map和multimap运用示例 52 6.6.4 综合示例 55 6.7 其它STL容器 57 6.7.1 HashTable 59 6.7.2 引用计数 59 6.8 各种容器的运用时机 61 6.8.1 各种容器的使用时机 61 7 STL迭代器 64 7.1 迭代器头文件 64 7.2 ...
10.2.9Map和multimap容器 118 10.2.10容器共性机制研究 123 10.2.11其他 124 10.3算法 125 10.3.1算法基础 125 10.3.2STL算法中函数对象和谓词 138 10.3.3常用的遍历算法 148 10.3.4常用的查找算法 152 10.3.5常用的...
第10章 map 和 multimap 23.第10章 set 和 multiset 24.第11章 算法简介 25.第11章 函数对象简介 26.第11章 算法 元素计数 27.第11章 算法 最大值和最小值 28.第11章 算法 查找算法(1) 29.第11章 算法...
标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。
用AVL-tree数据结构作为底层机制,以STL底层空间配置器和iterator_traits编程技法实作出一个独立的关联式容器(map, set, multimap, multiset),并对外提供接口实现和STL完全兼容的容器。
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。本文主要总结一下map基本用法和嵌套用法示例。 一、map基本用法 1. 头文件 代码如下:#include <map> 2. 定义 代码...
1-1-10 数组和指针技术的不同......................................... 14 1-2 C++存储技术........................................................ 15 1-2 一I C++存储类型.....................................
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。
概述简单数据类型-具有本机Java和Scala集合支持的Map , Set , Queue , SetMap和MultiMap 。 使用任何纯条件更新-无查询语言。 使用Transaction API进行原子更新和插入。 具有可配置API的非阻塞核心,用于阻塞,非...
多图这是语言缺少的multimap集合(这也是创建适当的库/包的一种简单... 有两种不同的多图实现, slicemultimap和setmultimap ,它们分别具有slice和set作为映射值。 当允许重复的键/值对并且插入顺序很重要时, slic
C++ multimap和map所支持的操作相同(除了multimap不支持下标运算),但是multimap允许重复的元素。 完整程序代码: /*请务必运行以下程序后对照阅读*/ ///头文件依旧是map #include <map> #include #include ...
Web Multiple Maps for Csharp
C++使用multimap实现tlv,支持重复tlv。实现代码+Makefile
Map存在或Multimap.Map设置, Multimap会使用Map作为内商店,这意味着对象可以作为重点。 var Multimap = require ( 'multimap' ) ; // if harmony is on /* nothing need to do */ // or if you are using es6-shim...