当前位置: 首页 > 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.pierceye.com/news/290757/

相关文章:

  • wordpress网站换字体颜色网站建设案例包括哪些
  • 北京市环境建设办公室网站怎么找到合适的网站建设商
  • 网站在线优化中国品牌加盟网
  • 网站可以做章子吗什么是网络营销?其特点是什么?
  • 网站优化人员中小型网站设计公司
  • 旅游网网站的设计wordpress添加网页背景图片大小
  • 学网站建设难不难wordpress5分钟安装
  • 建网站优化中山做网站专业的公司
  • 网站cmd做路由分析七牛云官网登录
  • 怎么在网站上打广告网站制作方案范文
  • 关键词搜不到我的网站wordpress 内网访问
  • 检察机关门户网站建设工作自查报告网站建设服务领域
  • 网站排名seo软件泉州高端模板建站
  • 昆山网站建设苦瓜网站建设费用会计分录
  • 免费pc网站建设网页设计与制作自学
  • 酒店 网站构建东莞常平碧桂园铂悦府
  • 子域名做微信开放平台网站应用公司做网站需要网站维护人员吗
  • 百度游戏排行榜风云榜青岛seo关键词优化排名
  • html写手机网站备案网站负责人
  • 做网站价位西安工程建设信息中心
  • 国外购物网站建设盐城做网站的哪家公司好
  • wordpress仿站软件遵化市城乡建设规划局网站
  • 湖北大网站建设贵州住房建设厅官网查询
  • 买个网站域名要多少钱一年网站建设热门吗
  • 高埗网站建设软件开发工程师就是程序员吗
  • 青岛正一品网站建设seo搜索优化排名
  • 响应式网站制设计wordpress游戏充值
  • 怎么看网站服务器地址网络设计一个月多少钱
  • 网站友情链接模块创作网站
  • 廉江手机网站建设公司商品展示介绍网站源码