![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stl学习
chenpidaxia
目前只是一个学生
展开
-
STL学习之queue使用
STL中实现了一个queue模板,符合单向队列的FIFO规则。queue的实现是基于已有的双向队列deque,它的方法比较不多。bool empty(); ---------判断是否为空size_t size(); ----------队列大小//reference,const_reference是迭代器类型,后者为常量的迭代器类型不可改变referen原创 2017-03-03 22:37:19 · 319 阅读 · 0 评论 -
STL的priority_queue及其背后的heap读书笔记
今天继续记录一下优先队列(priority_queue)的感想。其实优先队列的本质就是一个堆,STL中默认是大根堆(大顶堆)。在学习数据结构的堆排序的时候,已经接触过堆的相关性质了,这里就不展开讲堆了。虽然在逻辑结构上堆是一个完全二叉树,但在实现上时经常是用数组来表达数据结构。基于此,STL的优先队列也是一个容器适配器,默认是在vector的基础上封装而来的。但要注意一下STL中的堆是以下标0的元素原创 2017-07-20 14:46:16 · 1077 阅读 · 1 评论 -
STL的stack和queue读书笔记
其实stack(栈)在学习数据结构的时候就已经接触过了,栈是功能被阉割的线性表,只有一个入口,是一种先入后出的数据结构化,因为其简单操作,其实用到的地方还是挺广泛的,但本文不展开讲,因为主题还是在STL上,自然也是主要说STL的栈。STL中的stack不是一种容器,而是容器适配器。即stack实在前面说到的容器的基础上封装而来的。从stack先进后出的特性来看,只要是线性的数据结构其实都可以作为栈的原创 2017-07-18 22:39:23 · 263 阅读 · 0 评论 -
STL的deque读书笔记
今天看到了deque,个人觉得deque应该是STL容器中的一个精华了,设计很巧妙,同时也很复杂,要花不少时间把这块硬骨头啃下来。deque的逻辑模型deque的逻辑模型和数组一样,连续的线性空间。使用上和vector一样支持随机存取。但和vector的区别很大,deque几乎以O(1)时间完成元素的头插入和移除,vector的话需要做元素移动处理;同时deque的不会出现vector那样空间增长的原创 2017-07-15 19:18:56 · 297 阅读 · 0 评论 -
STL的list读书笔记
前言循循渐进,今天来记录一下对于list的读书笔记。一般我们学生期间碰到使用链表的场景其实比较少的,因为有了vector后链表list相对于数组的主要优势可以说只有O(1)时间复杂度的插入和删除了,但如果是要求空间尽可能利用无多余的空间场景的话,还是会使用到链表结构。而实际使用中往往采取是把链表和其他结构相结合组成一种混杂的数据结构来使用的方法,如:前面的STL的空间配置器中的自由链表,哈希表中解决原创 2017-07-13 21:22:27 · 246 阅读 · 0 评论 -
STL的list成员函数
找了很久终于,找到一个觉得很好的博文总结出来的list成员。 文章比较长不过绝对慢慢干货。 下面是原文地址 本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂。不失为STL的入门文章,新手不容错过!本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂。不失为STL的入门文章,新手不容错过!转载 2017-07-15 19:54:53 · 1447 阅读 · 0 评论 -
STL之vector成员函数
[原文地址](http://blog.csdn.net/tianyajuankewxl/article/details/50500128%20%E5%8E%9F%E6%96%87%E5%9C%B0%E5%9D%80)vector成员函数成员函数说明assign清除vector并用指定元素填充空的vecotrat返回指定元素引用back返回最后一个元素引用begin返回第一个元素的转载 2017-07-12 19:13:03 · 354 阅读 · 0 评论 -
STL空间配置器读书笔记
STL中的空间配置器读书笔记SGI-STL中定义了两套空间配置器,分别是std::allocator和std::alloc。 std::allocator只是在::operator new和::operator delete上做了一层简单的封装。所以一般也不会使用allocator,而alloc则是一套相比allocator在设计上更符合规范的组件。 这里有个点需要提及。 全局的:...原创 2017-07-11 16:03:59 · 302 阅读 · 0 评论 -
STL学习之stack使用
STL中包含了栈的模板类,提供了一种符合stack数据类型的FILO(先进后出)的规则的实现,我们可以方便的使用。构造一个stack的对象,也是需要两个参数,一个元素类型(必须),一个容器类型(可选),而且和queue一样,容器类型默认使用的是双向队列,dque. 基本使用的方法也不多,甚至比较少。很常见bool empty(); ---------判断栈是否为空,空返回真size_t si原创 2017-03-08 21:35:04 · 405 阅读 · 0 评论 -
STL的vector读书笔记
本着实践才是检验是否学会的标准,看完书和写完demo程序后,觉得还是有必要记录下对vector的一些心得。本文截图取自《STL源码剖析》和SGI STL源代码vector的内存模型vector的内存模型是动态增长的线性空间,其实本质上来说就是堆上的数组。 动态增长的实质是,需求空间超过当前可用空间后,重新申请一块更大的空间来作为载体,然后复制已有数据过去新空间,删除回收旧空间,然后在...原创 2017-07-12 18:51:05 · 380 阅读 · 0 评论