STL
文章平均质量分 53
smilesundream
这个作者很懒,什么都没留下…
展开
-
红黑树的旋转
以插入为例描述红黑树旋转:1.因为红黑树到任意一个叶子节点经过的黑节点数一样,因此新增节点只能是红色。2.如果插入节点的父节点是黑节点,符合要求。如果是红,需要调整。下面分类讨论:3.如果伯父节点也是红,则将祖先节点变红,父节点与伯父节点变黑。4否则如果伯父节点是黑,如果插入节点是右儿子,进行一次左旋成为情况55.这种情况下,左儿子和父节点都是红,祖先节点是黑,那么我们将父原创 2017-07-29 23:26:33 · 431 阅读 · 0 评论 -
快速排序优化
参考:http://blog.sina.com.cn/s/blog_5a3744350100jnec.htmlhttp://blog.csdn.net/insistgogo/article/details/7785038原创 2017-07-30 00:09:12 · 198 阅读 · 0 评论 -
allocator
1.STL定义了两个文件,一个用于内存的申请与释放,另一个用于对象的构造与析构。2.对于内存的申请与释放,STL定义了两级配置器,第一级配置器仅是对malloc、free等的简单封装,当申请的内存>128B时,直接用第一级配置器分配内存。3.为了减少碎片,提高内存利用率,引入第二级配置器,维护128/8=16个链表,分别对应内存8、16、24....128,对申请的内存向上对8取整原创 2017-07-30 17:06:36 · 743 阅读 · 0 评论 -
STL删除迭代器
1.关联容器删除一个迭代器对其他迭代器不会造成影响,返回的是void型。2.序列容器删除一个迭代器后会造成后面的所有迭代器都往前移动一个位置,因此之前的迭代器都会失效,返回的是被删除后新复制到被删除位置的元素的迭代器。——————————C++中利用迭代器删除元素会发生什么?(1)对于关联容器(如map,set,multimap,multiset),原创 2017-07-28 10:04:24 · 616 阅读 · 0 评论 -
散列表及冲突的解决办法
散列表:将大的全局U区域散列到一个小的区域,因为可能会发生冲突,所以需要再散列、再哈希、链地址法、建立公共溢出区几种方法。http://www.360doc.com/content/14/0721/09/16319846_395862328.shtmlhttp://www.cnblogs.com/hanganglin/articles/3737506.html原创 2017-07-25 20:51:41 · 1595 阅读 · 0 评论