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

建设一个网站需要哪些软硬件条件无做弊的棋牌游戏网站

建设一个网站需要哪些软硬件条件,无做弊的棋牌游戏网站,泉州关键词优化软件,电子商务网站业务流程文章目录 前言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/289913/

相关文章:

  • 最有设计感的网站扬中网站建设 优帮云
  • 企业建设银行网站登录不了wordpress需要ftp
  • 广州营销型网站建设团队专业建设内涵包括哪些内容
  • 网站如何做响应式布局外国网站上做Task
  • 知乎网站建设入门书大渡口集团网站建设
  • 免费网站建设是什么宁波网站建设的价格表
  • 网站设计导航栏高度网站设计的经营范围
  • 帮别人建设网站多少利润北京网站建设公司华网制作作
  • 微信网站需要备案吗瑞安商业网站建设
  • 做网站如何计算工资wordpress stheme
  • 网站建设销售人才简历wordpress 搜索tag
  • 设计网站专业云南旅行社网站开发
  • 小规模开普票网站建设几个点张浦专业做网站
  • 点击图片跳转到网站怎么做链接网址后缀名大全
  • php网站开发优化crm客户系统
  • 韩国网站免费模板wordpress数据库名称
  • 如何修改网站发布时间贵阳网站建设报价
  • 东莞网站推广培训免费云电脑
  • 湖北网站建设详细方案脑叶公司手机版下载
  • 淄博网站制作平台形象怎样建设旅游网站
  • 广州花都网站建设网站改版协议
  • 中国建设协会网站首页工信部网站备案被删除
  • 丹阳网站建设案例dedecms 购物网站
  • 网站上怎么做动画广告视频下载seo黑帽是什么意思
  • 服装网站建设网综合社区网站开发费用
  • 做网站预付款 怎么做账做律师网站的网络公司
  • 购物网站开发模板小程序注册拉新
  • 怎么建立一个网站能够与讯飞云对话罗湖附近公司做网站建设哪家好
  • 唐山网站制作公司北京网站开发优选ls20227
  • php 网站备份代码广州网站设计公司招聘