自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (3)
  • 收藏
  • 关注

原创 STL-迭代器中的traits

STL-迭代器中的traits​ STL中算法通过迭代器访问容器时,有时不仅仅需要知道元素是什么,还想用到元素的相应类型(声明一个变量之类)。STL中利用traits编程技巧来实现。它通过在每一种迭代器中声明了类型名。再通过iterator_traits来萃取类型。最终通过iterator_traits来获取类型。​ 为什么要通过iterator_traits来获取类型?这是因为,原生指针...

2020-02-22 13:14:57 119

原创 unordered_map&&unordered_set

unordered_map&&unordered_set底层实现​ 在STL中,C++11引入了unordered_map、unordered_set、unordered_multimap、unordered_multimap。尽管不是名字不是哈希表,但是底层仍然是。相比于map等,这个查找的平均时间更加快。看看它的底层实现(l来自《STL源码剖析》)://以下是基于gnu...

2020-02-20 14:51:22 157

原创 Map&&Set

STL- Map&&SetRB_Tree​ 非公开,这是map,set的底层支撑。它在STL中的实现: struct _Rb_tree_node_base { typedef _Rb_tree_node_base* _Base_ptr;//指向树节点的指针 typedef const _Rb_tree_node_base* _Const_Base_ptr...

2020-02-19 10:00:33 137 1

原创 STL-使用红黑树作为底层的原因简单解释

STL-使用红黑树作为底层的原因简单解释​ 在C++标准模板库中,map\set\mutimap\mutiset均是以红黑树作为底层来实现的。为什么要以红黑树来实现这些容器呢?二叉搜索树​ 二叉搜索树(也叫二叉排序树、二叉查找树)。二叉搜索树的定义较为简单。二叉搜索树就是根节点元素与左右子树所有元素的比较关系顺序。具体如大小关系,二叉搜索树就是根节点元素大于左子树的所有元素,小于右子树的...

2020-02-18 09:02:42 472

原创 list

list​ list,是用环状双向链表实现的。具体的的内存结构如下图:​ 其中需要解释的地方:1.end()指向的是一空白节点,用以实现STL前闭后开区间。2.前闭后开区间:在STL迭代器中,区间里要访问的元素一般采用[iterator1,iterator2)的表示方法。​ 一个list类中的数据成员是怎么样的呢?如下(g++,7.2.0)list_node *next;list...

2020-02-11 22:05:19 145

原创 deque

deque文档deque,她的意思为双端队列(double-ended queue)。逻辑上看,deque和vector都是连续空间。相比于vector只能从尾部增长元素,而deque可在双侧增加元素。但是从存储结构上,deque并非是连续空间存储的。它是分段连续的。对于vector存储(申请的内存)的增长,可以描述为三个步骤1.申请内存2.搬移元素3释放原先的使用的内存。而由于deque其特...

2020-02-09 11:38:35 798

原创 vector

vector使用​ 对于vector,它的存储结构和数组一样,连续空间。对于vector类型,它的数据成员有三个:iterator start;iterator finish;iterator end_of_storage;​ 其增长方式是两倍增长。由于存储空间连续,vector的迭代器本质上仍然是类型的指针。明白这点,以上三个数据成员就非常好理解。start,finsh分别表示正...

2020-02-08 09:25:21 252

ch15_1.cpp

钢条切割问题_C++实现

2020-04-03

ch15_4.cpp

最长公共子序列问题

2020-04-03

ch15_2.cpp

矩阵链相乘C++实现

2020-04-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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