[c++]代码库
#include<bits/stdc++.h>
using namespace std;
//typedef pair<const Key, T> value_type;
bool fncomp(char a, char b)
{ return a<b; }
struct classcomp{
bool operator () (const char& a,const char &b)
{ return a<b; }
};
int main()
{
map<char ,int >my_map;// 直接定义
// 复制定义
map<char ,int >second(my_map);
// 迭代器定义
map<char ,int >third(my_map.begin(),my_map.end());
map<char ,int ,classcomp>fourth;// 重新定义compare对象,对()重载
// 通过函数指针
// bool(*fn_pt)(char, char) = fncomp;
// map<char, int, bool(*)(char, char)> fifth(fn_pt);
//=======================================================
my_map['a']=1000;// 赋值
my_map['b']=1;
my_map['c']=10;
map<char ,int >::key_compare key_comp;
map<char ,int >::iterator t;// 指针
t=my_map.begin();
//遍历一遍,first第一个 second第二个
for(;t!=my_map.end();t++)
//t是指针,用->
cout<<t->first<<" "<<t->second<<endl;
cout<<"========================"<<endl;
//====================================================
//插入元素
my_map.insert(pair<char ,int >('x',101));
my_map.insert(pair<char ,int >('p',99));
cout<<"x=>"<<my_map.find('x')->second<<endl;
cout<<"p=>"<<my_map.find('p')->second<<endl;
cout<<"========================"<<endl;
//=====================================================
//compare参数使用
key_comp=my_map.key_comp();
cout<<"mymap contains:\n";
// 迭代器反向遍历的起始位置
char highest=my_map.rbegin()->first; // key value of last element
t=my_map.begin();
do {
cout<<(*t).first<<" => "<<(*t).second<<endl;
} while(key_comp((*t++).first,highest));
cout << endl;
//======================================================
return 0;
}