#include
#include
#include
using namespace std;
int main()
{
map m; //m容器的定义
m.insert(make_pair(1,"one")); //m容器的赋值第一个数是整数,第二数是字符串
m.insert(make_pair(10,"ten"));
...
分类:
其他好文 时间:
2015-03-18 14:11:40
阅读次数:
118
引言
STL的map容器中,key的类型是不是随意的呢?
实践
编写测试代码
定义一个结构体来试试:
struct a
{
char* pName;
int m_a;
};map mp;
a a1;
a1.m_a = 100;
a1.pName = "a1";
a a2;
a2.m_a = 200;
a2.pName = "a2";
mp.insert(std:...
分类:
其他好文 时间:
2015-03-09 19:14:12
阅读次数:
341
问题描述:已知人名构成的父子关系树(或者森林),对于给定的两个人名name1和name2,求其最近公共祖先。题目保证人名不重复。分析:利用C++ STL中的map和set容器可以很方便的实现。用map容器存储父子关系。对于每一个询问,先将从name1开始到树根的路径上的所有人名放入一个set容器,然...
分类:
其他好文 时间:
2015-02-20 18:36:15
阅读次数:
164
map容器用于查找,设置键值和元素值,输入键值,就能得到元素值。map对象中的元素时刻都是有序的,除非无序插入的。它是用平衡树创建的。查找很快。函数描述,注意有r的地方都是不能用it代替的。map(comp,alloc)map(itfirst,itlast,comp,alloc)map(map&x)...
分类:
编程语言 时间:
2015-02-04 23:02:03
阅读次数:
319
单线程环境下可以使用HashMap和TreeMap。如果不是遍历时需要按照Key的排序来返回结果,应该采用HashMap。
多线程环境下可以使用以下四种Map容器。
1)Collections.synchronizedMap(new HashMap());
2)ConcurrentHashMap
3)Collections.synchronizedSortedMap(new TreeMap())
4)ConcurrentSkipListMap
如果不需要遍历时需要按照Key的排序来返回结果,首选Concur...
分类:
编程语言 时间:
2015-01-30 17:41:51
阅读次数:
536
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1755
题意:Ms. Terry is a pre-school art teacher who likes to have her students work with clay. One of her assignments is to form a lump...
分类:
编程语言 时间:
2015-01-27 20:22:45
阅读次数:
310
问题描述:输入一个单词列表,每行一个单词,统计单词出现的频率思路:主要是使用c++中的map容器。map实质上是一个二叉查找树,可以做到插入、删除、查询,平均查询时间在O(logn)。n为map中元素的个数,将字符串数据插入到map后,再用迭代器去访问map中的元素时,其实是按照map中插入的字符串...
分类:
其他好文 时间:
2015-01-27 18:06:42
阅读次数:
194
关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。 一般来说,如果希望有效地存储不同值的集合,那么使用 set 容器比较合适,而 map 容器则更适用于需要存储(乃至修改)每个键所关联的值的情况。在做某种文本处理时,可.....
分类:
编程语言 时间:
2015-01-23 00:41:49
阅读次数:
306
C++ Multimaps和maps很相似,但是MultiMaps允许重复的元素。(具体用法请参考map容器)函数列表:begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 count() 返回一个元素出现的次数 empty() 如果multimap为空则返回真 end() 返回...
分类:
其他好文 时间:
2014-12-16 09:56:13
阅读次数:
161