forward_list
forward_list(单向链表)序列容器,允许在序列中任何地方进行恒定的时间插入和擦除操作。
forward_list(单向链表)被实现为单链表; 单链表可以将它们包含的每个元素存储在不同和不相关的存储位置中。通过关联到序列中下一个元素的链接的每个元素来保留排序。forward_list容器和列表

之间的主要设计区别容器是第一个内部只保留一个到下一个元素的链接,而后者每个元素保留两个链接:一个指向下一个元素,一个指向前一个元素,允许在两个方向上有效的迭代,但是每个元素消耗额外的存储空间并且插入和移除元件的时间开销略高。因此,forward_list对象比列表对象更有效率,尽管它们只能向前迭代。
与其他基本的标准序列容器(array,vector和deque),forward_list通常在插入,提取和移动容器内任何位置的元素方面效果更好,因此也适用于密集使用这些元素的算法,如排序算法。
的主要缺点修饰符Modifiers S和列表相比这些其它序列容器s是说,他们缺乏可以通过位置的元素的直接访问; 例如,要访问forward_list中的第六个元素,必须从开始位置迭代到该位置,这需要在这些位置之间的线性时间。它们还消耗一些额外的内存来保持与每个元素相关联的链接信息(这可能是大型小元素列表的重要因素)。
该修饰符Modifiersclass模板的设计考虑到效率:按照设计,它与简单的手写C型单链表一样高效,实际上是唯一的标准容器,为了效率的考虑故意缺少尺寸成员函数:由于其性质作为一个链表,具有一个需要一定时间的大小的成员将需要它保持一个内部计数器的大小(如列表所示)。这会消耗一些

forward_list容器相关推荐

  1. C++_STL——list(and forward_list)

    C++_STL--list(and forward_list) 1.类模板 template < class T, class Alloc = allocator<T> > c ...

  2. STL的forward_list链表

    forward_list链表 forward_list forward_list::before_begin forward_list::cbefore_begin forward_list forw ...

  3. C++容器的选择和详细操作方法总结(有自己总结)

    概述:C++容器是一个功能十分强大的库,利用好了这些容器资源,不仅可以提高书写代码的速度,更重要的是还可以提高代码的健壮性.这篇文章旨在尽可能详细地说明各种容器的优缺点和适用场合以及最重要的就是如何使 ...

  4. 容器大小_C++ 顺序容器基础知识总结

    阅读目录 0.前言 1.容器概论 2.std::array 2.1.底层数据结构 2.2.内存分配策略 2.3.array的优势在哪 3.forward_list 3.1.底层数据结构 3.2.for ...

  5. C++(STL):14--- forward_list比list更高效的容器

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

  6. C++STL与泛型编程(3)容器之分类与测试

    文章目录 容器的分类 序列式容器(sequence containers)代码示例 辅助函数 array 容器 array容器的测试代码 测试代码中部分函数解析 vector 容器 vector 容器 ...

  7. c++ array容器 传参_C++ 顺序容器基础知识总结

    阅读目录 0.前言 1.容器概论 2.std::array 2.1.底层数据结构 2.2.内存分配策略 2.3.array的优势在哪 3.forward_list 3.1.底层数据结构 3.2.for ...

  8. forward_list

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

  9. C++容器的泛型算法总结

    C++泛型算法 1.概述 泛型算法位于algorithm,numeric等头部文件内 只读算法: accumulate(beg,end,start) count(beg,end,n) vector&l ...

最新文章

  1. jQuery.form.js使用
  2. 10个数冒泡排序流程图_(立下flag)每日10道前端面试题01
  3. DayDayUp:三观一致必将取代血缘关系,成为新的人际纽带(博主推荐文章)
  4. c语言 指针 数组还能这么用 ?
  5. nyoj 14 会场安排问题(贪心专题)
  6. 25 个 Java 机器学习工具和库
  7. 经典MySQL语句大全和常用SQL语句命令的作用。
  8. 如何获取用户当前详细的地理位置
  9. 主存储器物理地址,逻辑地址,转换
  10. iOS中创建,使用动态库(dylib)
  11. 电子邮件通知系统前十名的 ”磁盘贪婪用户“
  12. 易如意php,易如意网络验证系统1.1【开源】
  13. 简单打开.swf文件
  14. 发那可g10_浅谈FANUC系统G10指令
  15. 前端解决浏览器直接打开图片URL,下载问题
  16. 五一,读孔明《诫子书》有感
  17. 跟踪线程 深度 双目初始化位姿 运动模型 关键帧模式 重定位 局部地图跟踪 关键帧
  18. 法国老医生和他“驱动”的摄像头们
  19. AutoCad软件界面乱码
  20. 无线android auto车机,AAWireless适配器为Android Auto车机带来无线配对体验

热门文章

  1. java水晶报表pull模式_水晶报表pull模式
  2. python输入什么就输出什么_一文读懂Python的输入和输出
  3. Web前端学习技巧有哪些?本文给你答案
  4. Python实现二叉树的三种深度遍历方法!
  5. django render_2020年最新Django经典面试问题与答案汇总(下)大江狗整理
  6. python中modify是什么意思_python – Django中的override_settings和modify_settings有什么区别?...
  7. Python中的高阶函数sorted
  8. 业务总结003:抽奖活动
  9. VTK:隐式布尔值用法实战
  10. boost::detail::lightweight_mutex相关的测试程序