STL中常用的vector,map,set 用法
C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库。容器往往包含同一类型的数据。STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等。
.
一. vector
1.声明:
一个vector类似于一个动态的一维数组。
...
分类:
其他好文 时间:
2015-06-15 14:40:43
阅读次数:
199
一、Map
(一)Map概述
1、Map集合:将键映射到值的对象。
1)一个映射不能包含重复的键;
2)每个键最多只能映射到一个值。
2、Map集合和Collection集合的区别
1)Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的。可以把这个理解为:夫妻对 。
2)Collection集合存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的。可以把这个理解为:光棍(11.11)
3、注意:
1)Map集合的数据结构只针对键有效,跟值无关 ,Ha...
分类:
其他好文 时间:
2015-05-13 22:02:43
阅读次数:
198
Map
map迭代器
迭代器失效
map初始化
map插入元素Mapmap的特性是,所有键值会自动被排序。所有元素都是pair类型,同时拥有实体值(value)和键值(key)。pair的第一个元素被看做为键值,第二个看作为实值。同set,map不允许两个元素有相同的键值。又因为键值的自动排列特性,所以在键类型上必须有定义的严格弱排序。所谓的严格弱排序可以理解为在键值类型上的小于关系。所以假如不存在...
分类:
编程语言 时间:
2015-05-05 16:31:59
阅读次数:
151
题意:给你一个二维平面,m个询问 横着和竖着划一条线,问你最大矩形面积是多少。解题思路:1)不知道为什么感觉不能用优先队列找最大值以后就脑抽的想到了线段树找最大值,真是悲剧的开始。线段树 + map 迭代器解题代码: 1 // File Name: c.cpp 2 // Author: dark.....
分类:
其他好文 时间:
2015-03-18 12:03:07
阅读次数:
167
动态数据结构和泛型
0 详细介绍java中的数据结构 1
1 List 5
1.1 ArrayList 5
2 Set 6
2.1 HashSet与TreeSet的区别 6
3 Map 8
4 迭代器 9
5 泛型 9
0 详细介绍java中的数据结构
也许你已经熟练使用了java.util包里面的各种数据结构,但是我还是要说一说java版数据结构与算法,希望对你有帮助。
线...
分类:
编程语言 时间:
2015-03-11 23:26:18
阅读次数:
322
/*
map接口中没有迭代器,那么该怎么遍历?
1:Set keySet() :获取到所有的键,存储到一个Set集合中,并返回该集合,因为Set有迭代器,
每次迭代出来的是一个键,再根据键来得到值
2:Set> entrySet():获取到所有的键值对儿形成的映射关系,存到一个Set集合中,再迭代这个集合
...
分类:
其他好文 时间:
2015-01-29 09:39:58
阅读次数:
656
相比于上次我做过的一个容斥题 和他很相似 就是多了一个modify操作不过也不难 只要 通过 加加减减 操作就能完成了这个操作 我想过很多种方法 最后觉得用Map迭代访问是最好的选择如果遍历x->y这个区间 因为y::iterator it; 5 for( it=mp.begin();it!...
分类:
其他好文 时间:
2014-11-02 13:51:51
阅读次数:
229
以前对java中迭代方式总是迷迷糊糊的,今天总算弄懂了,特意的总结了一下,基本是算是理解透彻了。
1.再说Map之前先说下Iterator:
Iterator主要用于遍历(即迭代访问)Collection集合中的元素,Iterator也称为迭代器。它仅仅只有三个方法:hasNext(),next()和remove()
hasNext():如果仍有元素可以迭代,则返回 true。(换句话说,如...
分类:
编程语言 时间:
2014-07-19 23:28:49
阅读次数:
359