在不同场景下C ++ 0x forward_list的性能如何?

时间:2013-07-02 04:45:23

标签: c++ c++11

我一直在使用std :: forward_list,我需要一个列表,但不需要双向迭代器,但很高兴看到forward_list在一系列配置的一系列场景下的性能分析,例如;

  • forward_list :: erase_after()vs list :: erase()
  • forward_list :: push_front()vs list :: push_front()
  • std :: next(forward_list :: iterator,n)vs std :: next(list :: iterator,n)
  • forward_list :: iterator ++ vs list :: iterator ++

我已经看到很多这些用于向量和数组,并且看到它也适用于较新的forward_list也很有用。

请仅提供富有成效的答案。

1 个答案:

答案 0 :(得分:2)

forward_list没有erase()方法;我认为你的意思是erase_after()

您问题中的所有方法对都具有完全相同的渐近复杂度(std::next(it, n)n中是线性的,其余的是常量时间。)