STL源码剖析---heap

Heap堆是常用的数据结构,Heap中也可以存放元素。但是STL中并没有提供Heap容器,只是提供了关于Heap操作的算法。只要支持RandomAccessIterator的容器都可以作为Heap容器。Heap的背景是建立在优先队列的基础上,priority queue允许我们任意的插入一个元素,...

2015-06-01 16:02:48

阅读数 424

评论数 0

STL源码剖析---stack,queue

Stack栈是常用的一个FILO数据结构,FILO是指first in last out,先进后出。因为栈只有一个口,即在这个口进也在这个口出,stack允许新增元素、移除元素、取得最顶端元素。但除了最顶端元素外,没有任何其他方法可以存取stack的其他元素。只能在栈顶操作,不能访问栈中的其他元素...

2015-06-01 15:25:10

阅读数 426

评论数 0

STL源码剖析---deque

deque的概述 deque是一种双向开口的连续线性空间,允许我们在头尾两端操作。所以我们需要保证deque可以在常数时间内对头和尾元素进行插入或者删除。 Deque还有一个明显的与Vector不同的特点,就是它没有capacity的概念,它是动态地用分段连续的空间组合起来的,随时可以增加一段新的...

2015-05-31 22:05:29

阅读数 427

评论数 0

STL源码剖析—list

相较于vector的连续线性空间,list就显得复杂许多,它的好处是每次插入或删除一个元素,就配置或释放一个元素空间。因此,list对于空间的运用有绝对的精准,一点也不浪费。而且,对于任何位置的元素插入或元素移除,list永远是常数时间。 list不仅是一个双向链表,而且还是一个环状双向链表。另...

2015-05-31 21:28:28

阅读数 737

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭