
STL
Lailikes
这个作者很懒,什么都没留下…
展开
-
STL源码剖析——list容器的排序算法sort()
原文:https://blog.youkuaiyun.com/chenhanzhun/article/details/39337331前言 由于STL本身的排序算法sort接受的输入迭代器是随机访问迭代器,但是双向list链表容器的访问方式是双向迭代器,因此,不能使用STL本身的排序算法sort,必须自己定义属于自己访问的排序算法。我们从源码的剖析中,可以看到该排序算法思想类似于归并排序。l...转载 2018-08-09 16:13:22 · 166 阅读 · 0 评论 -
C++ 模板类型萃取技术 traits
当函数,类或者一些封装的通用算法中的某些部分会因为数据类型不同而导致处理或逻辑不同(而我们又不希望因为数据类型的差异而修改算法本身的封装时),traits会是一种很好的解决方案。(类型测试发生在编译期)自从C++中引入了template后,以泛型技术为中心的设计得到了长足的进步。STL就是这个阶段杰出的产物。STL的目标就是要把数据和算法分开,分别对其进行设计,之后通过一种名为iterator...转载 2018-10-11 09:39:35 · 828 阅读 · 0 评论 -
c++ 两个set合并
C++17提供set和unordered_set的merge,但是C++11并不提供,但依然有简便的方法实现两个set的合并(求并集),如下:set<int> a,b;//合并到aa.insert(b.begin(),b.end());...原创 2018-10-10 10:50:09 · 19104 阅读 · 4 评论 -
STL中的Sort实现
https://www.cnblogs.com/fengcc/p/5256337.html函数声明#include <algorithm> template< class RandomIt >void sort( RandomIt first, RandomIt last ); template< class RandomIt, class Com...转载 2019-04-09 10:33:49 · 304 阅读 · 0 评论 -
容器和算法
● 请你来说一下map和set有什么区别,分别又是怎么实现的?参考回答:map和set都是C++的关联容器,其底层实现都是红黑树(RB-Tree)。由于 map 和set所开放的各种操作接口,RB-tree 也都提供了,所以几乎所有的 map 和set的操作行为,都只是转调 RB-tree 的操作行为。map和set区别在于:(1)map中的元素是key-value(关键字—值)对...转载 2019-05-16 20:52:22 · 818 阅读 · 0 评论