0

リストは必要だが双方向イテレータは必要ない 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++ と list::iterator++ の比較

私はベクトルと配列についてこれらの多くを見てきましたが、新しい forward_list についても同様に見ると便利です。

生産的な回答のみをお願いします。

4

1 に答える 1

2

forward_listerase()メソッドがありません。私はあなたが意味すると思いますerase_after()

あなたの質問のメソッドのすべてのペアは、まったく同じ漸近的な複雑さを持っています(std::next(it, n)線形でnあり、残りは一定時間です)。

于 2013-07-02T04:49:20.953 に答える