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

网站建设设计公wordpress集中权重

网站建设设计公,wordpress集中权重,公司建一个网站吗,自己开外贸公司好做吗文章目录 前言1. 顺序介绍2. 容器对比说明3. 容器选择总结 前言 STL系列博客开篇#xff0c;记录一下自己学CSTL相关的心得。 这篇博客主要是写顺序容器的类型以及各个容器之间的异同还有平时对容器使用的选择。 1. 顺序介绍 顺序容器表示这个容器提供了快速顺序访问元素的能… 文章目录 前言1. 顺序介绍2. 容器对比说明3. 容器选择总结 前言 STL系列博客开篇记录一下自己学CSTL相关的心得。 这篇博客主要是写顺序容器的类型以及各个容器之间的异同还有平时对容器使用的选择。 1. 顺序介绍 顺序容器表示这个容器提供了快速顺序访问元素的能力。 下面是常用的一些顺序容器 容器名称简述vector可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢deque双端队列。支持快速随机访问。在头尾位置插入/删除速度很快list双向链表。只支持双向顺序访问。在list中任何位置进行插入/删除操作速度都很快forward_list单向链表。只支持单向顺序访问。在链表任何位置进行插入/删除操作速度都很快array固定大小数组。支持快速随机访问。不能添加或删除元素string与vector相似的容器但专门用于保存字符。随机访问快。在尾部插入/删除速度快 2. 容器对比说明 array与vector array就是我们使用的数组。我们一般使用数组的时候都是这样定义的int a[10]这个表示我定义了一个存放int类型数据的数组数组长度为10。但是我们存放数据的时候数据会一直增加很难确定应该给多大的容量才可以保证既不浪费内存又能够满足我们需求。 在我学STL之前刷题的时候喜欢定义数组。比如要输入20个数据我就给他定义个25个长度的数组。或者对于不可确定的长度我往往定义很大的数组。这就导致内存总是过大影响程序执行时间。 针对这种情况STL中出现了vector。它解决了array的不可变长度问题。可以把它看成是一个可变长的数组。对于array的数据插入如果新数据不在尾部插入的话就意味着数据就要产生移动。比如长度为10的数组我已存放4个数据我现在想在第2个位置插入数据这时候后面的3,4位数据就要依次往后移动一个单位长度。如果数据量很大这就导致插入效率很低。vector是array的变形从定长转向不定长但是由于存储方式的原因它还是无法解决这种中途插入带来的效率低问题。但是由于是顺序插入所以可以用下标的方式进行数据读取。这个就是它的优点支持快速随机访问。 vector与string string和vector都是将元素保存在连续的内存空间中。string是专门存放字符的一种vector容器(这是我自己理解的)。所以vector的特性string都有比如快速随机访问以及中间插入很慢尾部插入或者删除很快。 list与forward_list 有前面的连续内存分配方式就会有分散的内存分配方式。前者的优点是支持快速随机访问后者就需要依次遍历。后者通常采用链表的方式进行数据存储。 list就是一个双端的链表。这说明list支持头插和尾插。这个和双端队列deque很相似。forward_list直译过来就是前端队列这说明forward_list只支持从链表头进行插入数据。这两个容器的好处就是解决了上面arrayvectorstring三种容器插入删除中间元素过慢的问题因为是链表存储所以不涉及到依次移动元素。但是元素的访问必须要依次遍历每一个元素。 deque与其他容器 deque是一个双端队列更加复杂一些。deque存放数据是连续内存分配的方式所以和stringvector一样支持快速随机访问。同样的不可避免的就是中间插入或删除元素的代价可能很高。 但是在deque的两端添加或删除元素都是很快的与list或forward_list添加删除元素的速度相当。 我个人理解是deque是既想要有快速访问的效果但是又想提高元素的插入删除的效率。但由于是内存的连续分配所以不可避免插入的效率低只能通过改变插入的位置来提高效率就有了头尾插法。 3. 容器选择 没学STL之前嘛那就是直接一个数组顶多再来个链表搞定所有。学了之后这么多种容器怎么选下面是一些参考意见。 通常使用了STL的话vector是最好的选择。 除非你有很好的理由选择其他容器否则应使用vector。如果你的程序有很多小的元素且空间的额外开销很重要则不要使用list或forward_list。如果程序要求随机访问元素应使用vector或deque。如果程序要求在容器的中间插入或删除元素应使用list 或forward_list。·如果程序需要在头尾位置插入或删除元素但不会在中间位置进行插入或删除操作则使用deque。如果程序只有在读取输入时才需要在容器中间位置插入元素随后需要随机访问元素则 首先确定是否真的需要在容器中间位置添加元素。当处理输入数据时通常可以很容易地向vector追加数据然后再调用标准库的sort函数来重排容器中的元素从而避免在中间位置添加元素。 如果必须在中间位置插入元素考虑在输入阶段使用list一旦输入完成将list中的内容拷贝到一个vector中。 如果程序既需要随机访问元素又需要在容器中间位置插入元素那该怎么办?答案取决于在list或forward_list中访问元素与vector或deque 中插入/删除元素的相对性能。一般来说应用中占主导地位的操作(执行的访问操作更多还是插入/删除更多)决定了容器类型的选择。在此情况下,对两种容器分别测试应用的性能可能就是必要的了。 如果你不确定应该使用哪种容器那么可以在程序中只使用vector和list 公共的操作:使用迭代器,不使用下标操作,避免随机访问。这样,在必要时选择使用vector或list都很方便。 总结 第一次看完之后还是有些笼统写这篇博客的时候又复盘了一遍印象更加深刻一些。
http://www.zqtcl.cn/news/290757/

相关文章:

  • 营口公司网站建设网站百度seo关键词优化
  • 网站开发命名规范汉中网站制作
  • 嘉定网站建设公司泗水做网站ys178
  • 邯郸网站设计招聘网齐家网和土巴兔装修哪家好
  • 京东网站推广方式jquery网页设计成品
  • 做本地网站卖四川省建设科技协会网站首页
  • 注册网站引流wordpress5.0.2图集怎么发布
  • 360产品展示网站哈尔滨个人建站模板
  • 怎么做网站的浏览量陕西省住房和建设厅官方网站
  • 上海网站 备案查询平面设计接单网站有哪些
  • 用别人的公司名字做网站想自己做网站推广
  • 百度智能建站平台建设工程信息网官网入口查询
  • 比价网站源码整站程序服务器怎么发布网站
  • html插件代码大全济南网站关键词优化公司
  • 优秀的手机网站设计网站推广的特点
  • 滨州北京网站建设电子商务网站规划与管理
  • 如何注册公司网站域名中国有几大网站
  • php网站留言板怎么做wordpress 相关文章推荐
  • 怎么看网站被惩罚专业的网站建设流程
  • 如何制作手机免费网站模板下载用户体验设计师是什么
  • php网站建设基本流程基于php网站开发设计
  • 建设一个网站需要哪些软硬件条件无做弊的棋牌游戏网站
  • 最有设计感的网站扬中网站建设 优帮云
  • 企业建设银行网站登录不了wordpress需要ftp
  • 广州营销型网站建设团队专业建设内涵包括哪些内容
  • 网站如何做响应式布局外国网站上做Task
  • 知乎网站建设入门书大渡口集团网站建设
  • 免费网站建设是什么宁波网站建设的价格表
  • 网站设计导航栏高度网站设计的经营范围
  • 帮别人建设网站多少利润北京网站建设公司华网制作作