1

C ++標準ライブラリには二重にリンクされたリストしかありません(ただし、単一にリンクされたリストはありません)。単一リンクリストを持つ広く使用されているC++ライブラリはありますか?

4

3 に答える 3

8

slist単一リンクリストの実装であるBoostのクラスがあります。

于 2010-05-10T02:53:41.400 に答える
5

参考までに...

時が経ち、C ++ 11により、単一リンクリストとして実装され、Cでの実装と比較して本質的にオーバーヘッドがないstd::forward_listコンテナがもたらされました。

このコンテナと比較するとstd::list、双方向の反復が不要な場合に、よりスペース効率の高いストレージが提供されます。

警告:push_backメソッドがありません(std::forward_listおよびstd::forward_list :: push_back

于 2014-03-15T15:27:44.857 に答える
3

SGI拡張機能であるslistがあります( __gnu_cxx::slist

#include <iostream>
#include <iterator>
#include <ext/slist>

int main(int argc, char** argv) {
  __gnu_cxx::slist<int> sl;
  sl.push_front(1);
  sl.push_front(2);
  sl.push_front(0);
  std::copy(sl.begin(), sl.end(),  // The output is 0 2 1
            std::ostream_iterator<int>(std::cout, " "));
  std::cout << std::endl;
  return 0;
}
于 2010-05-10T02:52:34.910 に答える