似乎有在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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top