
STL
蓬莱道人
半路出家的研究僧
展开
-
STL中常用的算法
为了处理容器内的元素,STL提供了一些标准算法,包括查找、排序、拷贝、重新排序、修改、数值运算等基本而普遍的算法。算法并非容器内的成员函数,而是一种搭配迭代器使用的全局函数。这么做有一个重要的优势,所有算法只需要实现一份,就可以对所有容器运作,不必为每一种容器量身定做。1、非更易型算法2、更易型算法3、移除型算法4、变序型算法5、排序算法6、已排序区间算法7、数...原创 2019-03-05 17:42:43 · 1135 阅读 · 0 评论 -
STL容器简介
1、STL简介 2、STL中的容器及底层实现:3、STL容器的公用函数:下一篇:STL容器之vector、list1、STL简介 STL提供六大组件,彼此可以组合套用: (1)容器:容器用来存放数据,从实现的角度看,STL容器是一种类模板,包括vector、list、deque、set、map等。 (2)算法:STL算法是一种函数模板,各种常用的算法如so...原创 2019-02-27 22:54:16 · 832 阅读 · 0 评论 -
vector中push_back和emplace_back的区别
1、两者区别 在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题是临时变量申请的资源就浪费。 引入了右值引用,转移构造函数(请看这里)后,push_back()右值时就会调用构造函数和转...转载 2019-03-23 10:57:40 · 7108 阅读 · 0 评论 -
STL容器之vector、list
上一篇:STL容器简介1、动态数组vector2、双向链表list下一篇:STL容器之set、map、unordered_set、unordered_map1、动态数组vectorvector将其元素放在一个动态数组中管理,它允许随机访问,在vector尾部附加或者移除元素都很快,但是在vector中间或起始段安插元素比较费时,因为作用点之后的每个元素都必须移动到另一位置。 ...原创 2019-04-14 13:33:10 · 403 阅读 · 0 评论 -
STL容器之set、map、unordered_set、unordered_map
上一篇:STL容器之vector、list1、有序集合set2、有序字典map3、无序集合unordered_set和无序字典unordered_map下一篇:STL容器之string、stack、queue、bitset1、有序集合set set通常是由平衡二叉树实现出来(通常用红黑树实现),在二叉树中,每个节点都有一个父节点和两个子节点,左子树的所有元素都比自己...原创 2019-04-14 19:31:35 · 680 阅读 · 0 评论 -
STL容器之string、stack、queue、bitset
上一篇:STL容器之set、map、unordered_set、unordered_map1、字符串string2、栈stack3、队列queue4、bit集bitset1、字符串string=、assign() 赋予新值 swap() 交换两个string的内容 +=、append()、push_back() 添加字符。 str...原创 2019-04-14 19:35:51 · 713 阅读 · 0 评论