]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/unionfind.hh
partial: 1.3.31.jcn
[lilypond.git] / flower / include / unionfind.hh
index fbaa51e7318f57e186962f209d48cc918eacf656..b83a673a5d62aebfd640accb34804984fe6e9248 100644 (file)
@@ -1,25 +1,26 @@
 #ifndef UNIONFIND_HH
 #define UNIONFIND_HH
-#include "varray.hh"
+#include "array.hh"
 
-/*
+/**
     which points of a graph are connected?.
     Union find, a standard algorithm:
 
     Union_find represents an undirected graph of N points. You can
-    connect two points using #connect()#. #find(i)# finds a uniquely
+    connect two points using #connect()#. #find (i)# finds a uniquely
     determined representant of the equivalence class of points
     connected to #i#.
     
     */
 struct Union_find {    
-    void connect(int i, int j);
-    int find(int i);
-    bool equiv(int i, int j) { return find(i) == find(j); }
-    Union_find(int sz);
-
-private:
-    Array<int> classes;
+  void connect (int i, int j);
+  int find (int i);
+  bool equiv (int i, int j) { return find (i) == find (j); }
+  Union_find (int sz);
 
+  /**
+     This array provides the representing point for each node in the graph.
+  */
+  Array<int> classes_;
 };
 #endif