OpenADFortTk (including Open64 and OpenAnalysis references)
|
#include <UnionFindUniverse.hpp>
Public Member Functions | |
UnionFindUniverse (unsigned int highWaterMark) | |
~UnionFindUniverse () | |
void | Union (int i, int j, int k) |
int | Find (int i) |
returns what set i is in More... | |
Private Member Functions | |
int & | Count (int i) |
int & | Root (int i) |
int & | Parent (int i) |
int & | Name (int i) |
int | do_FIND (int i) |
Private Attributes | |
UnionFindElement * | e |
Here is example usage of this class:
OA::UnionFindUniverse ufset(10);
ufset.Union( ufset.Find(1), ufset.Find(5), ufset.Find(5) )
Definition at line 31 of file UnionFindUniverse.hpp.
OA::UnionFindUniverse::UnionFindUniverse | ( | unsigned int | highWaterMark) |
Definition at line 62 of file UnionFindUniverse.cpp.
References e, and OA::UnionFindElement::Init().
OA::UnionFindUniverse::~UnionFindUniverse | ( | ) |
Definition at line 71 of file UnionFindUniverse.cpp.
References e.
|
private |
Definition at line 125 of file UnionFindUniverse.cpp.
References OA::UnionFindElement::Count(), and e.
Referenced by Union().
|
private |
Definition at line 115 of file UnionFindUniverse.cpp.
References Parent(), and UF_NIL.
Referenced by Find().
int OA::UnionFindUniverse::Find | ( | int | i) |
returns what set i is in
Definition at line 78 of file UnionFindUniverse.cpp.
References do_FIND(), Name(), Parent(), and UF_NIL.
Referenced by OA::NestedSCR::FIND().
|
private |
Definition at line 139 of file UnionFindUniverse.cpp.
References e, and OA::UnionFindElement::Name().
Referenced by Find(), and Union().
|
private |
Definition at line 134 of file UnionFindUniverse.cpp.
References e, and OA::UnionFindElement::Parent().
Referenced by do_FIND(), Find(), and Union().
|
private |
Definition at line 130 of file UnionFindUniverse.cpp.
References e, and OA::UnionFindElement::Root().
Referenced by Union().
void OA::UnionFindUniverse::Union | ( | int | i, |
int | j, | ||
int | k | ||
) |
merge set i with set j and name it k if you want to merge the sets that a and b are in then you need to call Union( Find(a), Find(b), ...)
Definition at line 89 of file UnionFindUniverse.cpp.
References Count(), Name(), Parent(), and Root().
Referenced by OA::NestedSCR::UNION().
|
private |
Definition at line 50 of file UnionFindUniverse.hpp.
Referenced by Count(), Name(), Parent(), Root(), UnionFindUniverse(), and ~UnionFindUniverse().