当前位置:网站首页>STL教程8-map
STL教程8-map
2022-07-03 10:45:00 【贪睡的蜗牛】
map
map相对于set区别,map具有键值和实值,所有元素根据键值自动排序。pair的第一元素被称为键值,第二元素被称为实值。map也是以红黑树为底层实现机制。
map四种插入方式
map<int, int> mymap;//声明map,第一个参数key类型,第二个参数value类型
mymap.insert(pair<int, int>(10, 10));//第一种插入方式
mymap.insert(make_pair(20, 20));//第二种插入方式
mymap.insert(map<int, int>::value_type(30, 30));//第三种
mymap[40] = 40;//第四种
//打印
for (map<int, int>::iterator it = mymap.begin(); it != mymap.end(); it++)
{
//*it取出来的是pair
cout << "key:" << (*it).first << "value:" << it->second << endl;
}
注意上面第四种插入方式,如果没有插入访问,比如cout打印mymap[40],这时候也会插入,由于值类型是int,因此会插入0
添加自定义类型
这里添加一个类
class MyKey
{
public:
MyKey(int index, int id)
{
this->mIndex = index;
this->mID = id;
}
public:
int mIndex;
int mID;
};
定义比较类型
struct mycompare
{
bool operator()(const MyKey& key1, const MyKey& key2)const
{
return key1.mIndex > key2.mIndex;
}
};
添加元素
map<MyKey, int, mycompare> mymap;//自动排序,要告诉他怎么排序
mymap.insert(make_pair(MyKey(1, 2), 10));
mymap.insert(make_pair(MyKey(4, 5), 20));
打印元素
for (auto it = mymap.begin(); it != mymap.end(); it++)
{
cout << it->first.mIndex << ":" << it->first.mID << "=" << it->second << endl;
}
边栏推荐
- MATLAB extrait les données numériques d'un fichier txt irrégulier (simple et pratique)
- 如何成为一名高级数字 IC 设计工程师(1-5)Verilog 编码语法篇:操作数
- Asyncio warning deprecationwarning: there is no current event loop
- AIDL
- Double linked list of linear list
- uniapp scroll view 解决高度自适应、弹框滚动穿透等问题。
- Modular programming of single chip microcomputer
- This article explains the complex relationship between MCU, arm, MCU, DSP, FPGA and embedded system
- 鸿蒙第三次培训(项目实训)
- Numpy np.max和np.maximum实现relu函数
猜你喜欢
MATLAB提取不规则txt文件中的数值数据(简单且实用)
Incremental database backup - DB incr DB full
ASP. Net hotel management system
机器学习 3.2 决策树模型 学习笔记(待补)
(2) Base
Web安全总结
Abandon the Internet after 00: don't want to enter a big factory after graduation, but go to the most fashionable Web3
Numpy np. Max and np Maximum implements the relu function
Arctangent entropy: the latest SCI paper in July 2022
Software testing weekly (issue 78): the more confident you are about the future, the more patient you are about the present.
随机推荐
如何将数字字符串转换为整数
Program process management tool -go Supervisor
Some common terms
Project management essence reading notes (VII)
Asyncio warning deprecationwarning: there is no current event loop
鸿蒙第四次培训
[vtk] source code interpretation of vtkpolydatatoimagestencil
Linear table sequence table comprehensive application problem p18
进程与线程
. \vmware-vdiskmanager. exe -k “c:\\xxxxx.vmdk”
R语言ggplot2可视化:gganimate包创建动态折线图动画(gif)、使用transition_reveal函数在动画中沿给定维度逐步显示数据、在折线移动方向添加数据点
[OBS] encapsulate the basic process of OBS acquisition
ASP.NET-酒店管理系統
Gut | 香港中文大学于君组揭示吸烟改变肠道菌群并促进结直肠癌(不要吸烟)
00后抛弃互联网: 毕业不想进大厂,要去搞最潮Web3
Oracle withdraw permission & create role
Encapsulate a koa distributed locking middleware to solve the problem of idempotent or repeated requests
AI模型看看视频,就学会了玩《我的世界》:砍树、造箱子、制作石镐样样不差...
MATLAB提取不规则txt文件中的数值数据(简单且实用)
R language uses grid of gridextra package The array function combines multiple visual images of the ggplot2 package horizontally, and the ncol parameter defines the number of columns of the combined g