STL源码剖析
文章平均质量分 58
傻月菇凉
这个作者很懒,什么都没留下…
展开
-
STL源码剖析——序列式容器
序列式容器所谓序列化容器,其中的元素都可序,但未必有序。C++语言本省提供了一个序列式容器array,STL另外提供了vector,list,deque,stack,queue,priority_queue等序列式容器。其中stack和queue由于只是将deque作为底层实现,技术上被归类为一种配接器。文章只是将一些细节知识点总结,底层源码不涉及。vectorvector的数...原创 2018-09-03 15:01:14 · 317 阅读 · 0 评论 -
STL源码剖析——二分查找
版本一:lower_bound(应用于有序区间)在已排序的[first,last)中寻找元素value。区间内有与value值相等的元素,返回一个迭代器,指向其中第一个元素。即有多个相等的值时,返回第一个相等的位置。区间内没有与value值相等的元素,返回“假设这样的元素存在时应该出现的位置”。即第一个大于value的元素的位置。图解 版本二:upper_bound(应用于有...原创 2018-08-19 16:36:44 · 244 阅读 · 0 评论 -
STL源码剖析——set相关算法
简介STL一共提供了四种与set(集合)相关的算法,set必须是有序区间,元素值可以重复。换句话说,它们可以接受STL的set/multiset容器作为输入区间。并集(union)交集(intersection)差集(difference)对称差集(symmetric difference)算法——set_union算法set_union可构造s1、s2之并集。se...原创 2018-08-17 17:13:34 · 266 阅读 · 0 评论 -
STL源码剖析——容器配接器
stackstack是一种先进后出的数据结构。它还有一个出口。 以某种既有容器作为底部结构,将其接口改变,使之符合“先进后出”的特性,形成一个stack,是很容易的。deque是双向开口的数据结构,以deque为底部结构并封闭其头端开口,便可形成stack。stack没有迭代器。只有stack顶端的元素,才有机会被外界取用。stack不提供走访功能,也不提供迭代器。SGI STL以...原创 2018-08-17 17:46:34 · 224 阅读 · 0 评论