网站设计步骤图片,优站点网址收录网,企业网站建设方案怎么写,招聘网站分析报告怎么做/* map/multimap容器* map/multimap属于关联式容器#xff0c;底层结构是用二叉树实现。* - map中所有元素都是pair#xff1b;* - pair中第一个元素为key(键值)#xff0c;起到索引作用#xff0c;第二个元素为value(实值)#xff1b;* - 所有元素都会根据元素的键值自动…/* map/multimap容器* map/multimap属于关联式容器底层结构是用二叉树实现。* - map中所有元素都是pair* - pair中第一个元素为key(键值)起到索引作用第二个元素为value(实值)* - 所有元素都会根据元素的键值自动排序** 优点可以根据key值(键)快速找到value值.** map和multimap的区别* - map不允许容器中有重复key值元素* - multimap允许容器中有重复key值元素.** map构造* - map m;默认构造函数* - map(const map m);拷贝构造函数** 赋值* - map operator(const map m); 重载等号操作符.** 大小和交换* - size();返回容器中元素的数目* - empty();判断容器是否为空* - swap(map);交换两个map容器中的数据** 插入和删除* - insert(elem);在容器中插入元素多种插入方式* map m;* (1)m.insert(pair(1, 10));* (2)m.insert(make_pair(2, 20));* (3)m.insert(map::value_type(3,30);* (4)m[4]40;* 在上面四种插入方法中虽然第4种最简单但是第4中容易出错如m[5];看起来像是在取value值* 但是这个操作其实创建了一个新的key-value对只不过value是用默认值来进行填充的.* - clear();清除所有元素* - erase(pos);删除pos迭代器所指的元素返回下一个元素的迭代器* - erase(beg, end);删除区间[beg, end)的所有元素返回下一个元素的迭代器* - erase(key);删除容器中值为key的元素.** 查找和统计* - find(key);查找key是否存在若存在返回该键的元素的迭代器若不存在返回set.end()* - count(key);统计key的元素的个数.** 排序与set排序基本相同我们可以利用仿函数来改变插入数据时候的排序规则.*/一个栗子//// Created by shexuan on 2021/1/23.//#include #include #include using namespace std;class myCompare{public:// 记住这里加const不然后报错bool operator()(int v1, int v2) const {// 降序return v1v2;}};int main(){map m;m.insert(pair(1,10));m.insert(pair(2,20));m.insert(pair(3,30));m.insert(pair(4,40));m.insert(pair(5,50));for (map::iterator itm.begin();it!m.end();it){cout first: it-first second: it-second endl;}}