单链表在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 ::修饰符Modifiers 被实施为单链表和容器基本上不具有任何的开销相比,其在C实现。
相比std::list
该容器提供了不需要进行双向迭代时更多的空间高效的存储。
警告:错过push_back
方法(的std ::修饰符Modifiers和std ::修饰符Modifiers ::的push_back )
不隶属于 StackOverflow