当前位置: 首页 > news >正文

温州市企业网站制作中国纪检监察报总编

温州市企业网站制作,中国纪检监察报总编,淄博哪有培训做网站的,东乡族网站建设C:STL容器-map 1. map构造和赋值2. map大小和交换3. map插入和删除4. map查找和统计5. map容器排序 map中所有元素都是pair(对组) pair中第一个元素为key(键),起到索引作用,第二个元素为value(实…

C++:STL容器-map

        • 1. map构造和赋值
        • 2. map大小和交换
        • 3. map插入和删除
        • 4. map查找和统计
        • 5. map容器排序

map中所有元素都是pair(对组)
pair中第一个元素为key(键),起到索引作用,第二个元素为value(实值);
索引元素都会根据元素的键值自动排序;

本质上:map/multimap属于关联式容器,底层结构都是用二叉树实现。
优点:可以根据key值快速找到value值
map/multimap区别: map不允许容器中有重复key值元素;multimap允许容器中有重复key值元素。

头文件为:#include <map>

1. map构造和赋值

map<T1,T2> mp; //map默认构造函数
map(const map &mp); // 拷贝构造函数
map& operator = (const map &mp); // 重载等号操作赋值

#include <iostream>
#include <map>using namespace std;void printMap(map<int,int> &mp){for(auto & it : mp){cout << "key=" << it.first << " value=" << it.second <<endl;}cout << endl;
}int main() {map<int,int> m;m.insert(pair<int,int>(1,10));m.insert(pair<int,int>(3,8));m.insert(pair<int,int>(2,7));printMap(m);return 0;
}

在这里插入图片描述

2. map大小和交换

size();
empty();
swap(mp); // 交换操作

int main() {map<int,int> m;m.insert(pair<int,int>(1,10));m.insert(pair<int,int>(3,8));m.insert(pair<int,int>(2,7));printMap(m);cout << "m的大小为:" << m.size() << endl;cout << "m是否为null:" << m.empty() << endl;map<int,int> m2;m2.insert(pair<int,int>(100,10));m2.insert(pair<int,int>(101,20));printMap(m2);m2.swap(m);// 交换操作printMap(m);printMap(m2);return 0;
}

在这里插入图片描述

3. map插入和删除

insert(elem); //在容器中插入元素
clear(); // 清除所有元素
erase(pos); // 删除pos迭代器所指的元素,返回下一个元素的迭代器
erase(beg,end); // 删除区间[beg,end)的所有元素,返回下一个元素的迭代器
erase(key); // 删除容器中值为key的元素

int main() {map<int,int> m;// map容器插入元素的方法m.insert(pair<int,int>(1,10));// 1m.insert(make_pair(3,8));// 2m.insert(map<int,int>::value_type (2,7));// 3m[-1] = 100;// 4 不推荐使用这种方式进行插入操作,建议进行访问printMap(m);auto it = m.begin();it = m.erase(it);// 删除第一个元素printMap(m);m.erase(2);// 删除键为2的元素printMap(m);return 0;
}

在这里插入图片描述

4. map查找和统计

find(key); // 查找key是否存在,若存在,返回该键元素的迭代器;若不存在,返回set.end();
count(key); // 统计key的元素个数

int main() {map<int,int> m;for (int i=1;i<5;i++){m.insert(make_pair(i,i+1));}printMap(m);auto it = m.find(2);if(it != m.end()){cout << "m存在键值为2的数" << endl;}else{cout << "m不存在键值为2的数" << endl;}return 0;
}

在这里插入图片描述

5. map容器排序

利用仿函数,改变排序规则

class MyCompare{
public:bool operator()(int v1,int v2){return v1 > v2;}
};int main() {map<int,int> m;for (int i=1;i<5;i++){m.insert(make_pair(i,i+1));}printMap(m);map<int,int,MyCompare> m2;for (int i=1;i<5;i++){m2.insert(make_pair(i,i+1));}for (auto &it :m2) {cout << "key=" << it.first << " value=" << it.second <<endl;}return 0;
}

在这里插入图片描述

http://www.yayakq.cn/news/880137/

相关文章:

  • 网站开发公司 苏州赤峰市做网站
  • 东莞政务网站建设方案嘉兴北京网站建设
  • 芜湖市住房和城乡建设厅网站首页付费资料网站开发
  • 免费行情软件app网站大全备案网站的规则
  • 做资源下载网站条件h5页面制作软件电脑版
  • ping一下新浪网站怎么做乐清市宏杉网络科技有限公司
  • 怎么根据网站做二维码绵阳科技网站建设
  • 网站建设前景分析安阳网站优化
  • 福建省城乡和建设厅网站广州网站开发制作
  • 国外的设计网站网站规划的注意事项
  • 网站商场模板天河手机建网站
  • 景德镇网站建设哪家口碑好平台类网站建设方案
  • 建站平台有哪些如何做镜框 网站
  • flash 3d 网站源码萧云建设网站
  • 建立网站目录结构的原则nginx 运行wordpress
  • php能建立网站吗j昆明网站制作公司
  • 郑州网站开发的公司电话佛山做网站建设价格
  • 可信赖的邵阳网站建设移动网站建设的前期规划内容
  • 有网站建设的虚拟主机管理系统手机wap支付
  • 营销型网站建设流程深圳外贸公司网站
  • 连云港品牌网站建设58同城百姓网
  • 智能网站搭建平台教育网站怎么做引导栏的
  • 常州行业网站专做英文类网站
  • 中国建信网官方网站wordpress 采集 公众号
  • wordpress网站设密码wordpress黄页插件
  • 做网站美工排版app设计开发哪家好
  • 廊坊电子网站建设网页制作一个网站八个页面咋做
  • 网站开发经营范围网络链接推广
  • 建设网站要注意什么问题教育网站开发方案
  • 济南网站建设全包qq网页登录