直接贴代码:基础的东西,不解释
#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;
}