在C ++中是否有我可以直接#include的链表?或者如果我想使用链表,是否需要创建自己的链表?
在C ++中是否有我可以直接#include的链表?或者如果我想使用链表,是否需要创建自己的链表?
#include <list>
QLinkedList<QString> list;
list << "A" << "B" << "C" << "D";
QListIterator<QString> i(list);
while (i.hasNext())
qDebug() << i.next();
更新:我最初在2009年发布了这篇答案,以引起人们对Qt类的关注。在C++11之后,有了像基于范围的
for
这样的东西,你通常可以获得比Java风格迭代器更好的语法...而不会牺牲性能。因此,尽管当我发布时可能值得提一下,但今天我不太可能再提到它。除非你有某种奇怪的原因不想这样做,否则只需使用标准库的单向链表(
std::forward_list
)或双向链表(std::list
)即可。
{{链接1:STL列表}}