[小丁笔记] map

map 用法

map的作用就是存储键值对 (key,value)
要求key是唯一的

头文件

<map>

声明

map<T1,T2> m;

插入

pair<T1,T2> p(k,v);
m.insert(p);
m[k] = v

insert会查重,若key已存在则无效
数组方式不会查重,会直接覆盖

访问和赋值

m[k] = v
iter=m.find(k);
//如果不存在的话 iter==m.end()
//只能查 key 不能查value!
iter->second = v

遍历

typedef map<T1,T2>::iterator ITER;
for(ITER iter=m.begin();iter!=m.end();iter++){
iter->first;
iter->second;
}

删除

m.erase(iter);
m.erase(k);

时间复杂度

增删查都是 O(logn)

基本函数一览

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的函数
posted @   Aireen_Ye  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
底部 顶部 留言板 归档 标签
Der Erfolg kommt nicht zu dir, du musst auf den Erfolg zugehen.



点击右上角即可分享
微信分享提示