From 6887a2e6ea298ade83ea3d26f25e402a4c085a74 Mon Sep 17 00:00:00 2001 From: Tim Dwyer Date: Mon, 17 Jul 2006 05:35:08 +0000 Subject: minor performance improvement (bzr r1428) --- src/libcola/connected_components.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/libcola/connected_components.cpp') diff --git a/src/libcola/connected_components.cpp b/src/libcola/connected_components.cpp index 7e72d46a7..0cf6ee45a 100644 --- a/src/libcola/connected_components.cpp +++ b/src/libcola/connected_components.cpp @@ -1,6 +1,7 @@ #include -#include "cola.h" +#include #include +#include "cola.h" using namespace std; namespace cola { @@ -34,15 +35,16 @@ namespace cola { unsigned id; bool visited; vector neighbours; + list::iterator listPos; Rectangle* r; }; // Depth first search traversal of graph to find connected component void dfs(Node* v, - set& remaining, + list& remaining, Component* component, map > &cmap) { v->visited=true; - remaining.erase(v); + remaining.erase(v->listPos); cmap[v->id]=make_pair(component,component->node_ids.size()); component->node_ids.push_back(v->id); component->rects.push_back(v->r); @@ -66,12 +68,12 @@ namespace cola { vector &components) { unsigned n=rs.size(); vector vs(n); - set remaining; + list remaining; for(unsigned i=0;i::const_iterator ei; SimpleConstraints::const_iterator ci; -- cgit v1.2.3