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

女孩学网站开发与运营方向怎么样百度联盟广告收益

女孩学网站开发与运营方向怎么样,百度联盟广告收益,自学考试 网页制作与网站建设06627,江苏网站建设电话一、容器适配器 1.适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人所知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。 2.STL标准库中stack和queue的底层结构 stack…

一、容器适配器

1.适配器

        适配器是一种设计模式(设计模式是一套被反复使用的、多数人所知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口

2.STL标准库中stack和queue的底层结构

        stack和queue也可以存放元素,但是STL并没有将其划分在容器的行列,而是将其称为容器适配器。这是因为stack和queue只是对其他容器的接口进行了包装,STL中stack和queue底层容器默认使用的是deque。

二、deque简介

1. deque的原理

1.1 deque(双端队列)

        是一种双开口“连续”空间的数据结构。双开口是指:可以在头尾两端进行插入和删除操作,且时间复杂度位O(1)。与vector相比,头插效率高,不需要搬移元素;与list相比,空间利用率比较高。

1.2 deque的空间

        deque并不是真正连续的空间,而是由一段段连续的小空间拼接而成,实际deque类似于一个动态的二维数组,其底层结构图如下所示:

         若头插(尾插),但是缓冲区已满,则会再开辟一块空间记录到中控器中的前一个(后一个)位置中,然后往新的缓冲区中插入元素。

        若map(中控器满载),则会重新申请一块更大的map,并记录原先map对应位置所记录的缓冲区即可(即将原先map中记录的地址拷贝到新map中),不需要改变原先的缓冲区。

1.3 deque的迭代器

        双端队列表面上是一段连续的空间,然而其底层实际是分段连续的,为了维护其“整体连续”以及随机访问的假象,那么其实现就落到了其迭代器上,因此deque的迭代器设计就比较复杂:

 

first:指向当前缓冲区的起始;

last:指向当前缓冲区的末尾;

cur:指向当前所访问的元素;

node:指向当前所访问的缓冲区的地址在map中的存储位置。

        在遍历元素时,当cur与last(first)相同时,则对node进行++(--),然后重新赋值first、last、cur,让其分别指向node指向的新缓冲区的起始、末尾、第一个元素。

2. deque的缺陷

优势:

(1)与vector相比,deque的优势是头部插入和删除时,不需要搬移元素,效率高,而且在扩容时,也不需要搬移大量的元素。因此其效率比vector高。

(2)与list相比,其底层空间是“连续”空间,空间利用率比较高,不需要存储额外字段。

缺陷:

        不适合遍历:因为在遍历时,迭代器的每一次++(--)前,都会先对cur进行检测是否已经到达某段缓冲区的边界,频繁的检测导致效率低下。而序列式场景中,可能需要经常遍历,因此在实际中,需要线性结构时,大多情况下优先考虑vector和list,deque的应用并不多。

3.为什么选择deque作为stack和queue的底层默认容器

        stack是一种先进后出的特殊线性数据结构,因此只要具有push_back()和pop_back()操作的线性结构,都可以作为stack的底层容器,比如vector和list都可以。

        queue是先进先出的特殊线性数据结构,只要具有push_back()和pop_front()操作的线性结构,都可以作为queue的底层容器,比如list。

采用deque作为默认底层容器的原因:

(1)stack和queue不需要遍历,只需要在固定一端或两端进行操作;

(2)在stack中元素增长时,deque扩容时不需要搬移大量数据,效率比vector高;queue中元素增长时,deque不仅效率高,而且内存利用率高。

stack和queue的特性,集合了deque的优点,且完美避开了deque的缺陷。

http://www.hkea.cn/news/955807/

相关文章:

  • 电子元器件商城网站建设百度开户怎么开
  • 企业网站开发基本流程百度博客收录提交入口
  • 甘特图模板关于网站建设微信营销模式
  • 网站建设的swot分析长尾关键词挖掘精灵
  • 发布自己的做家教的网站网店运营推广登录入口
  • b s网站系统如何做性能测试百度推广运营怎么做
  • 洛阳seo外包公司费用seo的中文意思
  • 政府网站建设遵循的原则seo网站内容优化
  • java做网站具体步骤邵阳seo优化
  • 自己做的网站如何放进服务器今天今日头条新闻
  • 男装网站的网站建设背景惠州seo按天计费
  • 如何快速提高网站排名互联网项目推广
  • icp备案网站名称更改成都网站设计
  • 企业网站建设需求分析seo排名资源
  • python基础教程雪峰东莞搜索seo网站关键词优化
  • b2b网站开发供应商小程序开发教程全集免费
  • 用自己的手机做网站外链网站是什么
  • 市场调研公司介绍网站推广优化公司
  • 玉溪人民政府网站建设现状新网站seo
  • 湖南餐饮网站建设2023北京封控了
  • 重庆网站设计人员外贸网站搭建推广
  • 局域网内的网站建设西安网站建设公司排名
  • 普通网站报价多少中南建设集团有限公司
  • 蚌埠做网站哪家好全网营销国际系统
  • 沈阳市网站制作谷歌香港google搜索引擎入口
  • 做美食网站的背景高端网站建设制作
  • 文件什么上传到wordpress泉州seo技术
  • 网站地址地图怎么做网页制作的软件有哪些
  • 如何用万网建设网站口碑营销策划方案
  • 做网站的基础架构东莞seo建站公司