【问题标题】:C++ STL doubly linked list performance comparison [closed]C++ STL双向链表性能比较[关闭]
【发布时间】:2018-10-24 01:46:37
【问题描述】:

我想知道是实现我自己的双向链表更好还是使用 stl list.h ? 在效率方面,两者的优缺点是什么? 谢谢

【问题讨论】:

  • 除非您需要自己做,因为预期的行为与 list.h 提供的行为相差太大,否则 list.h 很可能总是比这里更快,经过审查和更新多年。此外,它处理的错误可能比您想象的要多。
  • 由于没有人知道你的版本长什么样,所以无法给出答案。请花点时间研究一下STL的开发,网上有很多文档。
  • list.h 你的意思是<list> 对吗?在这种情况下,标准列表要好 99% 倍。另一方面,在 99% 的情况下,您根本不应该使用链表......
  • @stark 你说的是教学经验。在那种情况下,是的。 OP询问标准库提供更好的效率。
  • @mawahballah :您可能会从std::vector 获得更好的性能。特别是如果您的缓存对象是可移动的。 (std::list 具有 可怕的 缓存位置)。

标签: c++ stl doubly-linked-list


【解决方案1】:

了解的唯一方法是分析。这里有一些tools

正如 cmets 中已经说过的,除非这是一个教育练习,否则你可能不想自己编写。

std::list 的替代品Boost.Intrusive 可能比 std::list 有更好的性能。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    相关资源
    最近更新 更多