- 博客(6)
- 资源 (7)
- 收藏
- 关注
原创 Lists
Lists使用一个doubly linded list(双向链表)来管理元素,决定了list的内部结构和vector与deque迥然不同,所以先在几个主要方面与前述二者存在明显的区别。根据链表的性质,list不支持随机存取,意思是如果你想存取第i位置上的元素就必须顺着链表访问到i位置。任何位置上的插入删除操作都能在常数时间内完成,毕竟无需移动任何元素只通过内部的一些指针操作即可。安插和删除动作
2017-01-19 17:21:23 282
原创 Deques
deque同样是采用动态数组来管理元素,提供随机存取,并有着和vector几乎相同的接口。不同之处在于deque的动态数组头尾都开放,因此在头尾两端均能快速进行快速安插和删除。Deques VS Vectors不同点Deque两端都能进行快速安插和移除元素,均能在常数时间内完成。存取元素时,deque的内部结构会多一个间接过程,所以元素的存取和迭代器的动作会稍慢与vector。迭代器不需要再不
2017-01-19 15:54:42 761
原创 Vectors(一:大小和容量)
从这篇文章开始,依次详解各个组件,自然是从容器开始说起。 vector将元素复制到内部的dynamic array中,元素之间总是存在某种顺序,所以vectors是一种有序群集(ordered collection)。vector支持随机存取,因此只要知道位置,你可以在常数时间内存取任何一个元素。vector的迭代器是随机存取迭代器,所以STL的任何算法都可以奏效。大小(Size)和容量(Ca
2017-01-19 10:03:54 1359
原创 STL笔记介绍
STL组件介绍关于STL前世今生之类的介绍就不多说了,网上很多,没事就去看看,挺没趣的。我尽量表达的言简意赅,方便自己和能看到这篇文章的朋友理解,此文中大量引用,不要见怪。STL(Standard Template Library)是C++标准程序库的核心,若干组件共同合作构成了STL的基础。 其 最关键的组件是 1 容器, 2 迭代器 , 3 算法 除此之外还有 4 仿函数(functors)
2017-01-18 21:57:35 313
翻译 Iterator Adapters(迭代器配接器)
C++标准程序库提供了数个预定义的特殊迭代器,即所谓的迭代器配接器(Iterator Adapters),赋予了迭代器更强大的能力。Reverse Iterators(逆向迭代器)逆向迭代器是一种配接器,重新定义递增运算和递减运算,使其行为正好倒置,这么一来,如果你使用这类迭代器,算法将以逆序次序来处理元素。所有标准容器都允许使用Reverse迭代器来遍历元素。例子#inc
2017-01-07 12:53:45 352
C++代码设计与重用
2014-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人