
STL
天天进步一点点
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STL中vector的实现
可以参考博客:https://blog.youkuaiyun.com/ypt523/article/details/79651084 其实STL中的vector是一个动态的数组,而他的实现是这样的:先给新创建的vector对象分配一定的空间,当新分配的空间满时,就会在另外新开辟一个之前2倍的空间,将原空间中所有的数据拷贝过来,然后释放原来的旧的空间(为什么不使用原来的旧空间,然后去其他地方开辟新空间供新数据...原创 2019-07-15 21:01:21 · 365 阅读 · 0 评论 -
STL中的list的介绍
在stl中list和vector是两个最常被使用的容器,相比较而言,vector是连续的线性空间,而list不是 stl中的list是一个双向链表,迭代器具备前移和后移的能力。 list的一个重要的性质:插入和接合操作都不会造成原有的list迭代器的失效,这在vector是不成立的,因为vector的插入操作可能造成空间的重新分配,导致原有的所有迭代器全部失效。甚至list的元素的删除操作也只...原创 2019-07-15 21:21:59 · 201 阅读 · 0 评论 -
stl中的deque的介绍
vector是单向开口的连续线性空间,而deque是一种双向开口的连续线性空间。 所以说vector是真正的空间上的连续,只不过可能需要重新配置、复制和释放,而deque是“假象”上的连续,它是一段一段连续空间组成的。 ...原创 2019-07-15 21:31:51 · 574 阅读 · 0 评论 -
stl中关联式容器set/map/hashtable之间的区别
set 所有元素都会根据元素的键值自动被排序。但是set元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值。set不允许有两个元素有相同的键值。 底层使用RB-tree来实现的,因此具有自动排序的功能。 map 所有元素都会根据元素的键值自动被排序。但是map的所有元素都是pair,同时拥有实值value和键值key。pai...原创 2019-07-15 21:49:57 · 253 阅读 · 0 评论