STL 学习
xunmengpiaoyun
这个作者很懒,什么都没留下…
展开
-
STL 之 multimap 多重映照容器
multimap 介绍 与 map 不同,multimap支持键值重复插入,并且没有定义数组"[]"操作运算 multimap 使用和方法 1. 创建 multimap 对象 (1) multimap () map > MultiMapName; // 也可重载 '例如:multimap > mm; (2) multimap (const key_compare& comp)转载 2013-12-31 22:05:53 · 733 阅读 · 0 评论 -
STL 之 multiset 多集
multiset 介绍 multiset 跟 set 具有相同功能,但允许重复的元素。multiset 容器的内部结构通常由平衡二叉树 (balanced binary tree)来实现。当元素放入容器中时,会按照一定的排序法则自动排序,默认是按照less。 multiset 方法 1. 创建 multiset 对象 (1) multiset () 例如:multiset转载 2013-12-26 19:16:15 · 726 阅读 · 0 评论 -
STL 之 set 集合
set 结点介绍 在STL中,set是以红黑树(RB-tree)作为底层数据结构。 根节点是黑色;其他结点是红色或黑色;每个红色结点的左右必须是黑色;每条从叶子结点到根节点的路径都包含相同数目的黑色结点。 set 可以在时间复杂度为 O(logN) 情况下插入、删除和查找数据。 1. 创建 set 对象 (1) set (); 例如:set s; (2) set (const key转载 2013-12-26 16:31:33 · 652 阅读 · 0 评论 -
STL 之 list 双向链表
list 介绍 list 是双向链表的一个泛化容器,它的数据元素可通过链表指针串接成逻辑意义上的线性表。不同于采用线性表顺序存储结构的vector 和 deque 容器,list 双向链表中任一位置的元素插入和删除,都具有高效的常数阶算法时间复杂度 O(1)。查询效率低。 list 函数 创建 list 对象 list (),构造函数是 list (const A &a = A()转载 2013-12-23 15:33:57 · 1872 阅读 · 0 评论 -
STL 简介
STL介绍 STL (Standard Template Library,标准模板库) 的特点 STL是 C++ 的 ANSI/ISO 标准的一部分,可以用于所有 C++ 语言编译器和所有平台(Windows/Unix/Linux..)。STL 提供了大量的可复用软件组织。例如,程序员再也不用自己设计排序,搜索算法了,这些都已经是STL的一部分了。使用STL 的应用程序保证了得到的实现转载 2013-12-18 16:14:04 · 898 阅读 · 0 评论 -
STL 之 vector 容器
vector 介绍 vector 是一个能够存放任意类型的动态数组,能够增加和压缩数据。 vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储。如果动态数组的内存不够用,就要动态的重新分配,一般是当前大小的两倍,然后把原数组的内容拷贝过去。所以,在一般情况下,其访问速度同一般数组一样,只有在重新分配发生时,其性能才会下降。 参考文章: VC中vector用转载 2013-12-18 21:56:23 · 684 阅读 · 0 评论 -
[转载] STL 之 stack 栈
栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就可以了。因此实现非常的方便。下面就给出栈的函数列表和VS2008中栈的源代码,在STL中栈一共就5个转载 2013-11-29 11:18:09 · 541 阅读 · 0 评论 -
[转载] STL 之 priority_queue 优先级队列
priority_queue 介绍 priority_queue 优先队列的核心操作是支持在常量时间内获得最优先的元素。priority_queue 的难点就在于如何构造优先队列,更具体的说是如何使用自己定义的结构作为优先队列中的元素。 priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数,priority_queueType, Container, Fun转载 2013-12-18 13:32:21 · 846 阅读 · 0 评论 -
[转载] STL 之 queue 单向队列
queue单向队列与栈有点类似,一个是在同一端存取数据,另一个是在一端存入数据,另一端取出数据。单向队列中的数据是先进先出(First In First Out,FIFO)。在STL中,单向队列也是以别的容器作为底部结构,再将接口改变,使之符合单向队列的特性就可以了。因此实现也是非常方便的。下面就给出单向队列的函数列表和VS2008中单向队列的源代码。单向队列一共6个常用函数(front()、ba转载 2013-11-29 11:58:16 · 620 阅读 · 0 评论 -
[转载] STL 之 deque 双向队列
deque 双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque 在接口上和 vector 非常相似,下面列出 deque 的应用和常用成员函数: 创建deque的对象 deque () 例如:deque d; deque (size_type n) 例如:deque d(10); // d 中含10个元素,初始值都为0 deque转载 2013-12-17 17:56:35 · 665 阅读 · 0 评论 -
STL 之 map 关联容器
map 介绍 map 是一种关联容器,存储相结合形成的一个关键值和映射值的元素。Map 是一种 Pair Associative Container,意味着它的值类型为 pair. 而且也是 Unique Associative Container, 也就是任何两个元素没有相同的key值。 map 具有重要的属性,就是在 map 对象中插入一个新元素不指向现有元素的迭代器失效。从 map 上转载 2013-12-27 16:41:00 · 638 阅读 · 0 评论