标准的STL map是以红黑树为底层机制完成的,每一个节点的内容是一个pair
map<string, int> strMap
map<int, string> intMap
map<int, string> maplive
pair<int, string> value(1, "a"); 
maplive.insert(value);
maplive.insert(pair<int, string>(1,"a"));maplive[1] = “a”    (map中最简单最常用的插入添加) 
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值 >= 给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值 > 给定元素的第一个位置
value_comp() 返回比较元素value的函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 #include  <bits/stdc++.h>  using  namespace  std ;int  main ()      map <string , int > strMap;         strMap[string ("jjhou" )] = 1 ;     strMap[string ("jerry" )] = 2 ;     strMap[string ("jason" )] = 3 ;     pair<string , int > temp("jimmy" , 4 );     strMap.insert(temp);     strMap.insert(pair<string , int >("david" , 5 ));     map <string , int >::iterator strmap_iter = strMap.begin();     for (; strmap_iter != strMap.end();strmap_iter++) {         cout  << strmap_iter->first << " "  << strmap_iter->second << endl ;     }     cout  << endl ;          int  num = strMap[string ("jjhou" )];     cout  << "number = "  << num << endl  << endl ;     map <string , int >::iterator iter1;          iter1 = strMap.find(string ("jerry" ));     if (iter1 != strMap.end()) {         cout  << "jerry found"  << endl  << endl ;     }          iter1->second = 9 ;     int  number = strMap[string ("jerry" )];     cout  << "number = "  << number << endl ;          map <string , int >::iterator strmap_iter1 = strMap.begin();     for (;strmap_iter1 != strMap.end();strmap_iter1++) {         cout  << strmap_iter1->first << " "  << strmap_iter1->second << endl ;     }     cout  << endl ;     strMap.erase(iter1);         strMap.erase(string ("jason" ));       map <string , int >::iterator strmap_iter2 = strMap.begin();     for (;strmap_iter2 != strMap.end();strmap_iter2++) {         cout  << strmap_iter2->first << " "  << strmap_iter2->second << endl ;     }     cout  << endl ; }