単独でC ++標準ライブラリや他の広く使用されているライブラリにリンクリスト?
-
25-09-2019 - |
質問
C ++標準ライブラリで唯一の二重リンクリスト(ただし、単独リンクリスト)が、右があるようですか?単独リンクリストで任意の広く使用されているC ++ライブラリはありますか?
解決
はあり SLIST に、SGI拡張(__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;
}
他のヒント
slist
のクラスがありますから単独リンクリストの実装であるブーストます。
参考まで...
時間が経過しているとC ++ 11には、のstd :: forward_list <私たちをもたらしました/>重リンクリストとして実装されており、本質的にCでの実装に比べてオーバーヘッドを持っていない容器。
このコンテナは双方向の反復が必要とされていない多くのスペース効率的なストレージを提供std::list
に比べてます。
警告:欠落しているpush_back
方法(のstd :: forward_listとstd :: forward_list ::一back の)
所属していません StackOverflow