std::map是一个很常用的标准容器,采用红黑树或者平衡二叉树来储存节点内容,具有对数复杂度的插入时间和查找时间。这里简单说下它的一些值得注意的关注点。
1 定义
map<string, int> my_Map;
或者是
typedef map<string, int> MY_MAP;
MY_MAP my_Map;
2 插入数据
(1) my_Map["a"] = 1;
(2) my_Map.insert(map<string, int>::value_type("b",2));
(3) my_Map.insert(pair<string,int>("c",3));
(4) my_Map.insert(make_pair("d",4));
3 查找数据和修改数据
(1) int i = my_Map["a"];
my_Map["a"] = i;
(2) MY_MAP::iterator my_Itr;
my_Itr.find("b");
int j = my_Itr->second;
my_Itr->second = j;
不过注意,键本身是不能被修改的,除非删除。
4 删除数据
(1) my_Map.erase(my_Itr);
(2) my_Map.erase("c");
还是注意,第一种情况在迭代期间是不能被删除的,道理和foreach时不能删除元素一样。
5 迭代数据
for (my_Itr=my_Map.begin(); my_Itr!=my_Map.end(); ++my_Itr) {}
6 其它方法
my_Map.size() 返回元素数目
my_Map.empty() 判断是否为空
my_Map.clear() 清空所有元素
可以直接进行赋值和比较:=, >, >=, <, <=, != 等等
相关推荐
学习STL MAP, STL SET之数据结构基础
可以在windbg导出stl map和set的插件,使用方法参考我csdn的博客http://blog.csdn.net/yichigo/article/details/38232511
STL map例子 基本操作包括增删改查!
stl map algorithm ppt 精品课件
STL中map用法详解 非常详细,有说明和可以编译的例子
C++11中有无序map即: unordered_map 可以不自动排序, 那么C++98中只有map 如何避免自动排序。
自己编写了STL库的map,供大家学习讨论
stl中map用法详解
C++ stl中map容器的基本概念与增删查改功能实现
实现统计一段文章的每个单词的个数...其中CountDemo使用STL中的Map来实现的 CountDemo2是用一般语言实现,没有用到STL实现的; MapCount是用STL中的Vector和Map共同实现的 此题目是学习STL中的Map和Vector必练的经典题目
一个学习STL 中Map的类,主要实现stl::map的查找、删除、增加等
STL中map用法详解 STL中map用法详解 STL中map用法详解
源码之前了无秘密,你将看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;你将看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;你...
map简单实现
代码中包含了部分作者侯捷的<<STL源码剖析>>一书中的程序实例,有助于理解及应用STL,来进行方便高效的编程
如果你具备一定的C++ template知识,即使你没有接触过STL,这个文章你也应该可能较轻易的看懂。
以STL::map实现引用表,如有错误,欢迎指教!
实现了map的添加,查找,删除功能,没啥好说的
C++ stl map algorithm ppt tutorial
stl_map,讲述stlmap的一篇!大家可以学学!