c++ map容器

#include <iostream>

#include <string>

#include <fstream>

#include <vector>

#include <algorithm>

#include <deque>

#include <stack>

#include <queue>

#include <list>

#include <set>

#include <map>

using namespace std;

void printMap(map<int, int> &m)

{

for (map<int, int>::iterator it = m.begin(); it != m.end(); it++)

{

cout << it->first << " " << it->second << endl;

}

}

void test01()

{

map<int, int> m;

m.insert(pair<int, int>(1, 10));

m.insert(pair<int, int>(2, 20));

m.insert(pair<int, int>(3, 30));

m.insert(make_pair(4, 40));

m[5] = 50;

printMap(m);

map<int,int>m2(m);

printMap(m2);

map<int,int>m3;

m3=m;

printMap(m3);

}

void test02()

{

map<int,int>m;

m.insert(pair<int,int>(1,10));

m.insert(pair<int,int>(2,20));

m.insert(pair<int,int>(3,30));

if(m.empty())

{

cout<<"map is empty"<<endl;

}

else

{

cout<<"map is not empty"<<endl;

cout<<"size:"<<m.size()<<endl;

}

}

void test03()

{

map<int,int>m;

m.insert(pair<int,int>(1,10));

m.insert(make_pair(2,20));

m[3]=30;

printMap(m);

m.erase(2);

printMap(m);

}

void test04()

{

map<int,int>m;

m.insert(pair<int,int>(1,10));

m.insert(make_pair(2,20));

m[3]=30;

map<int,int>::iterator it = m.find(2);

if(it!=m.end())

{

cout<<"find:"<<it->first<<" "<<it->second<<endl;

}

else

{

cout<<"not find"<<endl;

}

int num=m.count(3);

cout<<"num:"<<num<<endl;

printMap(m);

cout<<m.count(2)<<endl;

}

class MyCompare

{

public:

bool operator()(int v1,int v2) const

{

return v1>v2;

}

};

void test05()

{

map<int,int,MyCompare>m;

m.insert(pair<int,int>(1,10));

m.insert(make_pair(2,20));

m[3]=30;

for(map<int,int,MyCompare>::iterator it=m.begin();it!=m.end();it++)

{

cout<<it->first<<" "<<it->second<<endl;

}

}

int main()

{

//test01();

//test02();

//test03();

//test04();

test05();

return 0;

system("pause");

}

相关推荐
YuTaoShao5 分钟前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法一)前后缀分解
算法·leetcode·职场和发展
BD_Marathon9 分钟前
设计模式——依赖倒转原则
java·开发语言·设计模式
VT.馒头11 分钟前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
goodluckyaa20 分钟前
LCR 006. 两数之和 II - 输入有序数组
算法
孤狼warrior21 分钟前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
devmoon28 分钟前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
Evand J31 分钟前
TDOA(到达时间差)的GDOP和CRLB计算的MATLAB例程,论文复现,附参考文献。GDOP:几何精度因子&CRLB:克拉美罗下界
开发语言·matlab·tdoa·crlb·gdop
野犬寒鸦32 分钟前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
云姜.36 分钟前
java抽象类和接口
java·开发语言
xyq20241 小时前
Pandas 安装指南
开发语言