当前位置: 首页 > wzjs >正文

网站建设服务费怎么做会计分录安卓手机优化大师官方下载

网站建设服务费怎么做会计分录,安卓手机优化大师官方下载,百度seo点击,洛阳网站建设seostack与queue 前言容器适配器deque 前言 本篇主要讲解stack与queue的底层,但并不会进行实现,stack的接口 queue的接口 ,关于stack与queue的接口在这里不做讲解,因为通过前面的对STL的学习,这些接口都是大同小异的。 …

stack与queue

  • 前言
  • 容器适配器
  • deque

前言

本篇主要讲解stack与queue的底层,但并不会进行实现,stack的接口
queue的接口 ,关于stack与queue的接口在这里不做讲解,因为通过前面的对STL的学习,这些接口都是大同小异的。

容器适配器

在这里插入图片描述
我们可以发现,stack与queue的第二个参数都是deque。并且在STL里,stack与queue都没有被分配到容器那一分类,,而是容器适配器中。
在这里插入图片描述
容器适配器是一种设计模式,该种模式是将一个类的接口转换成客户希望的另外一个接口。即我们的stack与queue是对deque的接口进行了包装而已。我们在前期学习数据结构的时候,stack与queue可以通过数组和链表进行实现,那么对应到C++里面,是可以通过vector与list进行实现的,那么为什么默认使用deque进行实现呢?

deque

deque其命为双端队列,即可以在两端进行插入删除切时间复杂度为O(1),那既然有deque,那么其是否可以取代vector与list呢?当然不行。
先进行补充CPU缓存区的概念:CPU要访问内存中的数据,需要看这个数据是否在缓冲区中,在的话就叫缓存命中,如果没有命中那么就需要先加载到缓存再进行访问缓存。读取数据根据局部性原理(如果一个数据被访问,那么它附近的数据也可能很快被访问。)是不会进行每次只读一个数据的,内存会先把一部分连续的数据读入到缓存区中的。

vector的优点:
1.vector支持随机访问。
2.CPU高速缓存命中率高。因为vector的数据地址是连续的,所以其连续的数据会在缓存区中,所以其高速缓存命中率高
vector的缺点:
1.头部与中部插入与删除数据效率低,因为要挪动数据。
2.扩容后会存在空间浪费的问题
list的优点:
1.任意位置支持O(1)的时间插入删除
2.不存在扩容,也就不会有浪费空间的问题
list的缺点:
1.不支持下标随机访问
2.CPU高速缓存命中率低,因为其内存地址是碎片的。

那么我们的deque是同时兼具两者的优点的,即支持随机访问,CPU高速缓存命中率高,头插的效率高,也没有扩容的问题与list相比其空间利用率也更高。但是deque在vector与list的优点上是比不过的,例如vector的随机访问的效率是比deque快的。
但是deque的致命缺陷就是其遍历非常困难,因为在遍历时,deque的迭代器要频繁的去检测其是否移动到某段小空间的边界,导致效率低下,而序列式场景中,可能需要经常遍历,因此在实际中,需要线性结构时,大多数情况下优先考虑vector和list,deque的应用并不多,而目前能看到的一个应用就是,STL用其作为stack和queue的底层数据结构。
stack是一种后进先出的特殊线性数据结构,因此只要具有push_back()和pop_back()操作的线性结构,都可以作为stack的底层容器,比如vector和list都可以;queue是先进先出的特殊线性数据结构,只要具有push_back和pop_front操作的线性结构,都可以作为queue的底层容器,比如list。

那么为什么选择deque作为stack与queue的底层默认容器呢

  1. stack和queue不需要遍历(因此stack和queue没有迭代器),只需要在固定的一端或者两端进行操作。
  2. 在stack中元素增长时,deque比vector的效率高(扩容时不需要搬移大量数据);queue中的元素增长时,deque不仅效率高,而且内存使用率高
http://www.dtcms.com/wzjs/110300.html

相关文章:

  • 网站建设保教电子商务营销模式有哪些
  • 南京做网站建设有哪些google下载手机版
  • 做猎头可以在哪些网站注册百度竞价怎么收费
  • 那些网站是用python做的360优化大师旧版本
  • 做自媒体在哪个网站好河北seo关键词排名优化
  • 随州网站建设价格广州百度seo公司
  • 网站建设工作下步打算什么是seo搜索
  • 网站梦打开又提示无法访问ip域名查询
  • 银行门户网站建设方案全国十大跨境电商公司排名
  • 怎样防止网站被黑企业网站建设价格
  • 宾爵手表官方网站做网站怎么优化
  • 淘宝优惠网站怎么做产品推广的渠道有哪些
  • 宣武门网站建设whois查询
  • 商务网站开发文档杭州seo网站推广排名
  • 湖州高端网站建设公司兰州网络推广技术
  • 网站建设有哪些类型自己怎么做游戏推广赚钱
  • wordpress云服务器安装教程网站是怎么优化的
  • 南昌网站建设 南昌做网站公司seo排名查询工具
  • 免费网站模板mbxzb企业文化内容范本
  • 不相关的网站做单项链接可以吗网站推广策划书模板
  • 收款 wordpressseo搜索引擎优化
  • 增长超人网站建设价格好的seo网站
  • 昆明网站建设公司电话运营商推广5g技术
  • 深圳教育平台网站建设今日头条新闻最全新消息
  • 福田我要做网站优化比较好动态网站设计
  • 网站建设做的人多吗集客营销软件
  • 做美食网站的项目背景关键词排名靠前
  • 做淘客网站多少钱教程推广优化网站排名
  • 中装建设公司网站seo入门基础教程
  • 广东中山市做网站百度网站分析