![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
文章平均质量分 57
All In !!!
《活着》一书中的福贵,就是在生活的锤炼下,从悲痛中醒悟、在失去中成长,最终活得豁达从容。
展开
-
STL总结之<deque容器>
vector容器是单向开口的连续内存空间,deque则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作。在介绍STL的deque的容器之前,我们先来总结一下vector和list的优缺点。vector在内存中是分配一段连续的内存空间进行存储,其迭代器采用原生指针即可,因此其支持随机访问和存储,支持下标操作符,节省空间。但是其在分配的内存不够的情况下,需要对容器整体进行重新分配、拷贝和释放等操作,而且在vector中间插入或删除元素效率很低。而list是以节点形原创 2021-04-28 14:52:58 · 303 阅读 · 0 评论 -
C++中 unordered_map 与 map 的区别
由于项目用到了,故抽空先大致记录一下unordered_map与map二者的区别下面 以 unordered_map ( 无序map ) 为主进行比较。1、头文件#include <unordered_map>#include 2、unordered_map 内部实现:哈希表 哈希表介绍【而 map 内部实现了红黑树】3、unordered_map 查找效率:非常高unordered_map 内部的Hash表通过把关键码值映射到Hash表中一个位置来访问记录,查找的原创 2021-01-21 18:00:08 · 1680 阅读 · 2 评论 -
【个人纪录】C++面试总结之四(STL)
不严谨之处较多,欢迎指正,在学习的路上不断狂奔在C++的面试中,标准模板库(STL)的使用是绕不开的一个话题。这次就把关于STL的几个重要常用容器的区别及使用场景总结一下,以便后面查看。注:每个容器的使用细节这篇不过多描述,毕竟面试过程以表达为主,若想深入了解,可查看我的博客专栏【STL】,每个容器都单独进行了总结。正文开始: 一、项目中常用的容器:1、序列式容器:vector:向量容器【底层是内存可自动增长的数组】list:双向链表容器(底层是双向链表)deque:双端队列容器(底层是动原创 2020-12-04 14:59:24 · 267 阅读 · 0 评论 -
STL总结之<list容器>
标准模板库:list容器 来,看黑板:链表是由一系列结点组成,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。list容器不仅是一个双向链表,而且是一个循环的双向链表。List将元素按顺序储存在链表中. 与 向量(vector)相比, 它允许快速的插入和删除,但是随机访问却比较慢.若项目中需要进行频繁的插入删除数据,则可以优先考虑list。 常用函数:1、尾部添加元素:list.push_back();2、头部部添加元素:list.push_fron原创 2020-11-26 11:44:54 · 163 阅读 · 0 评论 -
STL总结之<vector容器>
标准模板库:vector容器 看黑板:vector,向量,封装了数组。内部实为一个指针指向一块连续的空间,当空间被放满时,会自动申请一块更大的空间,将原有的所有数据拷贝过来,并将上一块空间释放掉。由于是一块连续的空间,故可以用下标访问的方式进行随机访问。若项目中需要进行高频率的访问,则可以优先考虑vector。 常用函数:1、尾部添加元素:vector.push_back();2.尾部删除元素:vector.pop_back();3.两数据进行交换:vector.swap();4原创 2020-11-25 15:43:59 · 224 阅读 · 2 评论