UnionFindUniverse.hpp

Go to the documentation of this file.
00001 
00015 #ifndef UnionFindUniverse_H
00016 #define UnionFindUniverse_H
00017 
00018 namespace OA {
00019 
00020 class UnionFindElement;
00021 
00031 class UnionFindUniverse {
00032 public:
00033   UnionFindUniverse(unsigned int highWaterMark);
00034   ~UnionFindUniverse();
00038   void Union(int i, int j, int k);
00040   int Find(int i);
00041 
00042 private: // methods
00043   int &Count(int i);
00044   int &Root(int i);
00045   int &Parent(int i);
00046   int &Name(int i);
00047   int do_FIND(int i);
00048 
00049 private: // data
00050   UnionFindElement *e;
00051 };
00052  
00053 } // end of OA namespace
00054 
00055 #endif
00056