![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL源码剖析
peng_weida
多多交流!
展开
-
STL源码剖析---红黑树原理详解下
文章转自:http://blog.csdn.net/hackbuteer1/article/details/7760584 算法导论书上给出的红黑树的性质如下,跟STL源码剖析书上面的4条性质大同小异。 1、每个结点或是红色的,或是黑色的 2、根节点是黑色的 3、每个叶结点(NIL)是黑色的 4、如果一个节点是红色的,则它的两个...转载 2012-07-26 15:45:57 · 4303 阅读 · 0 评论 -
STL源码剖析---红黑树原理详解上
文章转自:http://blog.csdn.net/hackbuteer1/article/details/7740956一、红黑树概述 红黑树和我们以前学过的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。不过自从红黑树出来后,AVL树就被放到了博物馆里,据说是红黑树有更好的效率,更高的统计性能。这一点在我们了解了红黑树的实现原理后...转载 2012-07-26 15:37:16 · 4161 阅读 · 0 评论 -
STL源码剖析---deque
文章转自:http://blog.csdn.net/hackbuteer1/article/details/7729451一、deque的中控器 deque是连续空间(至少逻辑上看来如此),连续线性空间总令我们联想到array或vector。array无法成长,vector虽可成长,却只能向尾端成长,而且其所谓的成长原是个假象,事实上是(1)另觅更大空间;(2)将原数据复制过去;(...转载 2012-07-26 10:16:38 · 600 阅读 · 0 评论 -
STL源码剖析---vector
文章转自:http://blog.csdn.net/hackbuteer1/article/details/7724547vector容器概述 vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变;要换个大(或小)一点的房子,可以,一切琐细都得由客户端自己来:首先配置一块新空间,然后将元素从旧址一...转载 2012-07-25 15:02:21 · 710 阅读 · 0 评论 -
STL源码剖析---list
文章转自:http://blog.csdn.net/hackbuteer1/article/details/7726116 相较于vector的连续线性空间,list就显得复杂许多,它的好处是每次插入或删除一个元素,就配置或释放一个元素空间。因此,list对于空间的运用有绝对的精准,一点也不浪费。而且,对于任何位置的元素插入或元素移除,list永远是常数时间。 list...转载 2012-07-25 16:58:03 · 489 阅读 · 0 评论