
STL
yfk
这个作者很懒,什么都没留下…
展开
-
STL开篇
STL(Standard Template Library),即标准模板库,它是惠普实验室开发的一系列软件的统称。从软件复用的角度来看,STL的出现是里程碑式的,它成功的根据范性思维假设起了一个概念结构,并在此基础上提供了一系列容器、算法的接口。 STL主要包括以下几个组件: 1. 容器。包括:vector、list、deque、map、multimap、set、multiset、queue、stack、priority_queue 2. 算法。主要包括:sort、find、max、min…原创 2011-05-26 09:34:00 · 1761 阅读 · 0 评论 -
标准非STL容器 : bitset
1. 概念什么是“标准非STL容器”?标准非STL容器是指“可以认为它们是容器,但是他们并不满足STL容器的所有要求”。前文提到的容器适配器stack、queue及priority_queue都是标准非STL容器的一部分。此外,valarray也是标准非STL容器。bitset:一种高效位集合操作容器。2. APIbitset提供的api:(constructor) Co原创 2011-11-22 00:04:25 · 6133 阅读 · 2 评论 -
不得不说的故事:STL内存管理
1. 概述STL Allocator是STL的内存管理器,也是最低调的部分之一,你可能使用了3年stl,但却不知其为何物。STL标准如下介绍Allocatorthe STL includes some low-level mechanisms for allocati原创 2011-07-25 23:17:18 · 9702 阅读 · 1 评论 -
STL关联容器概述
1. 概念 STL容器大的方向分为两类,序列式容器和关联式容器,这两者通过数据在容器内的排列来区分,关联容器是通过键(key)存储和读取元素的,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。标准的STL序列容器包括:vector、list、deque、heap(算法呈现)原创 2011-07-09 16:00:11 · 7530 阅读 · 0 评论 -
STL容器适配器:queue
1. 概念 和stack一样,queue也是一种容器适配器,其通过对既有容器进行包装,形成一种FIFO(First-in First-out)的数据结构。queue允许在一端进行插入,另一端进行访问,如下:2. API queue提供的API接口比较简单,如下: (constructor) Construct que原创 2011-06-22 23:33:00 · 2493 阅读 · 0 评论 -
STL容器:deque
1. 概念 vector支持随机访问每个元素,所需要的时间为常量,其在末尾增加或删除元素所需时间与元素数目无关,但是,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。和vector相比,deque 是一个双向开口的连续线性空间,它允许在常数时间内对头端进行元素的插入或删除操作。需要注意的是,虽然deque也支持常数时间的随机访问,但是,由于其数据内存特点,其效率较v原创 2011-06-21 16:57:00 · 6533 阅读 · 0 评论 -
STL容器:vector
1. 概念 vector是一种序列式容器,所谓序列式容器,即其中的元素可以排序,但是并未排序。可以把vector可作为加强版的array,它和array一样,存储空间是一段连续的内存,因此支持随机访问,但是,和array相比,vector支持动态增加数据。 vector支持动态增加数据,同时又需要保持空间的连续性从而支持随机访问,因此,在对vector动态增加元素原创 2011-06-10 20:40:00 · 8772 阅读 · 3 评论 -
STL容器:list
1. 概述 STL::list是STL最常用的容器之一,其本质上是一个双向环状链表,链表每一个结点内容如下: template struct __list_node { typedef void* void_pointer; void_pointer next; // 指向下一个节点的指针 void_pointer prev; // 指向前一个节点的指针 T data;原创 2011-06-18 23:34:00 · 5911 阅读 · 0 评论