forward_list 是 C++ 11 新添加的一类容器,其底层实现和 list 容器一样,采用的也是链表结构,只不过 forward_list 使用的是单链表,而 list 使用的是双向链表(如图 1 所示)。


图 1 单链表( a) )和双向链表( b) )

图 1 中,H 表示链表的表头。

通过图 1 不难看出,使用链表存储数据最大的特点在于,其并不会将数据进行集中存储(向数组那样),换句话说,链表中数据的存储位置是分散的、随机的,整个链表中数据的线性关系通过指针来维持。

因此,forward_list 容器具有和 list 容器相同的特性,即擅长在序列的任何位置进行插入元素或删除元素的操作,但对于访问存储的元素,没有其它容器(如 array、vector)的效率高。

另外,由于单链表没有双向链表那样灵活,因此相比 list 容器,forward_list 容器的功能受到了很多限制。比如,由于单链表只能从前向后遍历,而不支持反向遍历

C++(STL):14--- forward_list比list更高效的容器相关推荐

  1. 面试mysql中怎么创建索引_阿里面试:MySQL如何设计索引更高效?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  2. 怎么判断第几范式例题_学完就忘、做题就懵!初级会计怎么备考才能更高效?...

    备考初级会计之路真是艰辛,目前官方政策初级会计职称是一年一考,早早开始学吧,又有惰性,总觉得时间还很多,报完名再开始学吧,又总是搞不透彻知识点,一个知识点需要一天甚至更多才能消化...... 很多时候 ...

  3. 的列数 获取mysql_阿里面试:MySQL如何设计索引更高效?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  4. 如何更聪明地学习:20种让你更高效学习的科学方法

    目录 1. 以多种方式学习某个知识 2. 每天学习多个科目,而不是只学习一个科目 3. 定期复习,而不是死记硬背 4. 坐在最前面(对于学生来说) 5. 只专注于一件事 6. 学会简化.归纳 7. 用 ...

  5. 20种让你更高效的科学学习方法

    目录 1. 以多种方式学习某个知识 2. 每天学习多个科目,而不是只学习一个科目 3. 定期复习,而不是死记硬背 4. 坐在最前面(对于学生来说) 5. 只专注于一件事 6. 学会简化.归纳 7. 用 ...

  6. 如何更高效(HOWTO: Be more productive--Aaron Swartz)

    译者按:Aaron Swartz是个传奇般的人物,他是一个网络奇才,也是一个资讯自由斗士.此前我对他一无所知,但早就受益于他的智慧.大学阶段,我很大一部分知识都来自于Google Reader,而RS ...

  7. 分析网络抓包用 python 更高效

    Abstract 分析网络抓包用 python 更高效 Authors Walter Fan Category learning note Status v1.0 Updated 2023-01-10 ...

  8. N个技巧,编写更高效 Dockerfile|云效工程师指北

    简介:云原生时代下软件的构建和部署离不开容器技术.提到容器,几乎大家下意识都会联想到 Docker .而 Docker 中有两个非常重要的概念,一个是Image(镜像),一个是Container(容器 ...

  9. N个技巧,编写更高效 Dockerfile

    大家好,我是陈泽锋,我在云效负责Flow流水线编排.任务调度引擎相关的工作.在云效的产品体系下,我们服务了各种研发规模.技术深度的的企业用户,收到了非常多的用户反馈.对于使用 Flow 进行云上构建的 ...

最新文章

  1. 易语言逐条读access数据_易语言操作数据教程之ACCESS实战视频教程
  2. 专家支招:手把手教你如何选型移动CRM
  3. 如何创建你的第一个Python元类?
  4. JavaScript-创建日志调试对象(面向对象实例)
  5. Linux创建oracle11实例
  6. 搭建JAVA Eclipse环境并创建JAVA第一个项目
  7. Comparable和Comparator接口时干什么的?列出它们的区别
  8. PBRT——零基础到完全吃透系列
  9. 电机与拖动综合控制实验matlab,电机与拖动基础及MATLAB仿真
  10. jy在线制图系统免费源码丨一秒生成广告横图海报图
  11. 《滕王阁序》本周部分GAN论文(0113-0117)
  12. 一元二次方程求解(C语言版)
  13. FDI-01-基于PCA的TEP故障检测
  14. 数字经济发展现状_(我的)数字媒体的现状
  15. 五分钟学后端技术:分布式系统理论 - 从放弃到入门
  16. alpinelinux镜像安装中文字体
  17. Python 文字小游戏
  18. 分布式闭锁-redisson的闭锁应用
  19. Hauppague 哈帕克 PCIe 视频采集卡 ImpactVCB-e花屏问题解决和SDK集成
  20. html前端静态网页项目模仿旅游和设计两类网站

热门文章

  1. asterisk1.8 Makefile分析 (2)
  2. cesium 隐藏entity_cesium entity创建各类实体
  3. 一元三次方程重根判别式_许兴华——关于复数集中解一元二次方程的问题
  4. wxpython图形_wxPython(Python的GUI图形库)v3.0.2.0免费版-独木成林
  5. 【转】搞机:window10安装Linux子系统(WSL)及迁移到非系统盘
  6. 【2019牛客暑期多校训练营(第六场)- J】Upgrading Technology(dp)
  7. 【2019牛客暑期多校训练营(第二场)- F】Partition problem(dfs,均摊时间优化)
  8. 【蓝桥杯官网试题 - 算法训练 】P0502(乱搞,tricks)
  9. 【HDU - 2376】Average distance (树,平均距离,算贡献)
  10. CSS定位总结:position=static/relative/absolute/fixed时的区别、top/bottom/left/right与margin外边距的运用