本文整理汇总了C++中QQueue::reserve方法的典型用法代码示例。如果您正苦于以下问题:C++ QQueue::reserve方法的具体用法?C++ QQueue::reserve怎么用?C++ QQueue::reserve使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QQueue
的用法示例。
在下文中一共展示了QQueue::reserve方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: nodevisited
QList<ListDigraph::Node> ProcessModel::reachableFrom(const QList<ListDigraph::Node>& s) {
ListDigraph::NodeMap<bool > nodevisited(graph, false);
QList<ListDigraph::Node> res;
QQueue<ListDigraph::Node> q;
ListDigraph::Node curnode;
ListDigraph::Node targetnode;
q.reserve(countNodes(graph));
res.reserve(countNodes(graph));
for (int i = 0; i < s.size(); i++) {
if (s[i] != INVALID) {
q.append(s[i]);
}
}
while (!q.empty()) {
curnode = q.dequeue();
if (!nodevisited[curnode]) {
nodevisited[curnode] = true;
res.append(curnode);
// Check the successors
for (ListDigraph::OutArcIt oait(graph, curnode); oait != INVALID; ++oait) {
targetnode = graph.target(oait);
if (!nodevisited[targetnode]) {
q.enqueue(targetnode);
}
}
}
}
return res;
}