STL标准模板库
文章平均质量分 79
SprintfWater
My English name is SpringWater
展开
-
stl map用法和make_pair函数
首先make_pairPairs C++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象 classpair可以将两个值视为一个单元。容器类别map和multimap就是使用pairs来管理其健值/实值(key/value)的成对元素。 pair被定义为struct,因此可直接存取pair中的个别值.转载 2013-04-06 20:26:57 · 38974 阅读 · 0 评论 -
priority_queue使用方法
从大到小:priority_queue: 默认9 6 5 3 2由小到大:priority_queue, greater >2 3 5 6 9;由大到小:struct node{ friend bool operator { return n1.priority } int priority;原创 2013-03-28 15:38:54 · 6454 阅读 · 0 评论 -
stl 顺序容器适配器之stack, priority_queue, queue用法
stack用法: stack也是程序设计中常常用到的数据容器,STL为我们提供了stack的实现,因此在使用stack时必须包含头文件,并使用统一命名空间。1.声明一个stack stack s1; stack s2;stack模板类需要2个模板参数,一个为元素类型,一个为容器类型,但是只有元素类型是必要的,在容器类型缺省时,默认为deque。2.st原创 2013-04-11 12:08:46 · 1722 阅读 · 0 评论 -
STL关联容器之Map
STL之Map概述Map是标准关联式容器(associative container)之一,一个map是一个键值对序列,即(key ,value)对。它提供基于key的快速检索能力,在一个map中key值是唯一的。map提供双向迭代器,即有从前往后的(iterator),也有从后往前的(reverse_iterator)。map要求能对key进行,因此map上的迭代器也是递转载 2013-04-06 21:03:24 · 1119 阅读 · 0 评论 -
stl 顺序容器vector(priority_queue),顺序容器List,顺序容器deque(queue, stack)详解
三种容器均支持resieze()操作,重新划定容器大小,且此函数有重载。默认情况下:queue,stack是基于deque实现的,priority_queue是基于vector实现的。list是双向链表。map是红黑树实现的vector基本操作:vector v;//定义一个空容器vector v1(v);//将v通过构造函数拷贝给v1v.emp原创 2013-04-09 14:36:46 · 1755 阅读 · 0 评论 -
STL顺序容器之vector类型
顺序容器:将单一类型元素聚集起来成为容器,然后根据位置来存储和访问这些元素,这就是顺序容器。顺序容器的元素排列与元素值无关,而是由元素添加到容器里的次序决定。标准库中定义了三种顺序容器类型:vector、list和deque(double-ended queue,双端队列),它们的差别在于访问元素的方式,以及添加或删除元素相关操作的运行代价。容器只定义了少量操作,大多数额外操作都是转载 2013-04-09 14:45:35 · 1265 阅读 · 2 评论 -
C++STL容器使用经验总结
第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器hash_set、hase_multiset、hash_map和hash_multimap。v转载 2013-04-09 14:52:28 · 895 阅读 · 0 评论 -
STL顺序容器之deque双端队列
deque同vector一样也是顺序容器。它内部拥有更复杂的数据结构,从deque队列的两端插入和删除元素都非常快,在容器中间插入或删除则需要付出的代价非常高。deque的绝大部分操作与vector一致,如支持各种构造方式,push_back,insert,size,resize,empty,capacity等各种vector所支持的操作。并支持push_front(),pop_front()转载 2013-04-09 14:46:34 · 955 阅读 · 0 评论 -
stl 容器适配器、迭代器适配器和函数适配器讲解
一、迭代器list的迭代器不支持算术运算,也不支持关系运算符(=,>),他只提供前置和后置的自增、自减以及相等和不相等运算。list的内存不连续。vector和deque容器的迭代器是一种类型,vector能做的DEQUE也可以。二、容器适配器queue,priority_queue,stack.默认的queue和stack实在deque基础上实现,而PRIORITY_QUEU转载 2013-04-07 20:59:56 · 2264 阅读 · 0 评论 -
详细解说STL hash_map系列
0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,转载 2013-07-01 10:06:33 · 1003 阅读 · 0 评论