0

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

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

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

请仅提供有效的答案。

4

1 回答 1

2

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

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

于 2013-07-02T04:49:20.953 回答