本文整理汇总了C++中PriorityQueue::remove_top方法的典型用法代码示例。如果您正苦于以下问题:C++ PriorityQueue::remove_top方法的具体用法?C++ PriorityQueue::remove_top怎么用?C++ PriorityQueue::remove_top使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PriorityQueue
的用法示例。
在下文中一共展示了PriorityQueue::remove_top方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: kruskal
void Graph::kruskal(){
DisjointSets trees(nvertices);
prepare_search();
bfs_worker(1, &(do_nothing),&(do_nothing),&(insert_edge_to_heap));
edgepair *p;
int x, y;
vector<edgepair*> spanning_tree;
while(!min_heap.empty()){
p = min_heap.remove_top();
x = p->x;
y = p->y;
int root1 = trees.find(x);
int root2 = trees.find(y);
if(root1 == root2)
continue;
else{
spanning_tree.push_back(p);
trees.sets_union(root1,root2);
}
}
for(vector<edgepair*>::iterator it = spanning_tree.begin();
it != spanning_tree.end(); it++){
cout << (*it)->x << ", " << (*it)->y << " -- " << (*it)->weight << endl;
}
}