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

给我一个免费网站吗湖南网络公司关于我们

给我一个免费网站吗,湖南网络公司关于我们,域名注册入口,技能培训有哪些前言 双端队列,Double-ended queue,简称为deque是一种线性结构的一种容器; 在数据结构中出现的顺序表与链表,或者栈与队列都算是线性结构; 在结构中,它与vector相比较会相似一些; 但是在实际当中,双端队列 - deque 包含了vector与list的优点; vector(顺序表) 支持随机访问,空…前言 双端队列,Double-ended queue,简称为deque是一种线性结构的一种容器; 在数据结构中出现的顺序表与链表,或者栈与队列都算是线性结构; 在结构中,它与vector相比较会相似一些; 但是在实际当中,双端队列 - deque 包含了vector与list的优点; vector(顺序表) 支持随机访问,空间连续;尾插尾删效率高,但是头部插入删除以及中间插入删除的开销过大,扩容代价高;list(链表) 任何位置的插入删除效率高,无扩容代价,但是内存碎片较多,且不支持随机访问; 而deque综合了上面两者部分的优点; deque(双端队列) 支持随机访问,头尾插入删除效率高,扩容代价低; deque的结构 为什么双端队列 - deque既能支持头尾插入删除,又能支持下标随机访问? 这应该和它的结构有关; deque的结构类似于vector,因为和vector一样,总体的框架为一个连续的物理空间; 但是与vector不同的是vector作为类模板容器,数据类型为 T; 而在这里deque所存储的其实为一个指针; 这个指针的类型为T*; 可以理解为一个数组内存储多个小数组从而达到对每个数据进行存储; 但是在结构中的起始位置,为了能便于支持头尾插入删除,初始的buff数组所在的位置并不是在deque总体框架的开头,而是在中间; deque的接口设置 deque的接口设置与大部分的容器都相同; 在接口设置中较为相似list; 为什么说是list与vector的结合呢,还有一点; deque重载了operator[]; 这也是它可以对数据进行随机访问的一个原因; 那么有个问题,在如此复杂的条件下是怎么进行数据的随机访问? 可以进行假设; 假设存在一个大小为100的deque对象,其中每个buff小数组的大小为10,且100个数据中有3个头插的数据,现在需要去访问它的第25个数据应该怎么进行访问; 只需要2步即可: 用n减去头插的数据数个数(单独未满的buff数组数据个数)再除以数组总大小得是第几个buff数组; 即(25-3)/10; 再用n减去头插的数据数个数(单独未满的buff数组数据个数)再除0数组总大小得是buff数组中的第几个数据; 即(25-3)%10; 数据的插入删除 从上图中可以看出,若是需要进行头删头插或者尾删尾插时,只需要控制每个buff小数组即可; 由于初始buff数组所在位置处中间位置,所以可以更好的进行插入删除; 头部插入删除 第一次头插时只需要在指向首段buff的位置前再申请一块同样大小的空间即可; 再进行头插的时候,由于是头插,需要数据从后往前插入; 删除也为同样的操作; [如图所示,头插依次插入0,-1]; 尾部插入删除 尾部插入删除与头部插入删除相同,若是该段buff数组已满,则需要新开一个buff小数组用于存储数据; 删除也是如此; 中间插入删除 在deque中较难的是这个在中间位置的插入删除; 就如中间插入而言,deque的处理办法有两个办法,但是无论是哪个办法都会有缺点; 但两点办法的总结也就是: 固定buff数组大小不固定buff数组大小若是中间插入时固定buff数组大小,则在中间插入删除时需要大量的挪动数据,造成大量的开销若是中间插入时不固定buff数组大小,即在每次插入删除的时候,尤其是在插入时,扩容所对应的buff数组,该方法可以优化中间插入,使得在中间插入时不需要大量的挪动数据,但是对应的缺点是无法使用/配合%的方式进行下标的随机访问; 然而在STL的源码中所使用的方法为固定buff数组的大小,也就是抛弃了deque的中间插入删除; 双端队列的应用场景 在实际的应用场景中,使用到双端队列deque的场景并不多; 虽然它结合了vector的优点和list的优点,但是并没有十分的优异,换句话说就是无论是在效率上还是在有点伤都不能完全的取代vector与list; 在STL中,栈与队列所采用的方式为适配器模式,它们的模板参数为: templateclass T , class Container dequeT 在适配器模式中的模板参数Container默认为dequeT,这也是双端队列中最经典的使用场景;
http://www.zqtcl.cn/news/242545/

相关文章:

  • 教育与培训网站建设wordpress侧栏文章
  • 四川做网站的公司哪家好信誉好的赣州网站建设
  • seo外包网站网站的备案流程图
  • 学网站建设好么免费网页制作有哪些
  • 宁波公司网站开发招聘最便宜的视频网站建设
  • 找人做网站大概多少钱永州企业网站建设
  • 免费备案网站空间网站怎么做组织图
  • 四川省和城乡建设厅网站怎么做网站淘宝转换工具
  • 网站单页支付宝支付怎么做的排名优化公司口碑哪家好
  • 淄博网站制作服务推广做网站服务器配置
  • ppt做的好的有哪些网站有哪些广州品牌型网站建设
  • 怎么学做一件完整衣服网站网站 相对路径
  • 十大wordpress主题江门seo排名优化
  • 石家庄网站搭建定制在百度上如何上传自己的网站
  • 南宁建设厅官方网站福州中小企业网站制作
  • 模板网站建设平台昆山专业网站建设公司哪家好
  • 百度指数的数值代表什么网站建设优化的作用
  • 河南便宜网站建设价格wordpress页面图片插件
  • 网站生成wordwordpress汽车主题公园
  • 网络营销成功的案例及其原因湖南网站seo地址
  • 潍坊企业网站模板绩效考核表 网站建设
  • 建设企业网站公做深度游网站 知乎
  • 可以做h5的网站韶关网站建设制作
  • 企业网站建设的基本要素有哪些通知模板范文
  • 网站建设计划书范本住房和城乡建设部网站事故快报
  • 西安网站建设公司排家居用品东莞网站建设
  • 网站建设评比文章上海手机网站建设价格
  • 微信手机网站三合一建筑工程网络计划方法
  • 网站上文章分享的代码怎么做的建在线教育网站需要多少钱
  • 如何自己弄网站怎么用手机做网站服务器