The class implements an Extend-Find data structure which is able to enumerate the components and the items in a component. The data structure is a simplification of the Union-Find structure, and it does not allow to merge two components.
#include <lemon/unionfind.h>
Classes | |
| class | ClassIt |
| LEMON style iterator for the classes. More... | |
| class | ItemIt |
| LEMON style iterator for the items of a component. More... | |
Public Types | |
| typedef IM | ItemIntMap |
| | |
| typedef ItemIntMap::Key | Item |
| | |
Public Member Functions | |
| ExtendFindEnum (ItemIntMap &_index) | |
| Constructor. | |
| int | insert (const Item &item) |
| Inserts the given element into a new component. | |
| void | insert (const Item &item, int cls) |
| Inserts the given element into the given component. | |
| void | clear () |
| Clears the union-find data structure. | |
| int | find (const Item &item) const |
| Item | item (int cls) const |
| void | erase (const Item &item) |
| Removes the given element from the structure. | |
| void | eraseClass (int cdx) |
| Removes the component of the given element from the structure. | |
| int insert | ( | const Item & | item | ) | [inline] |
This method creates a new component consisting only of the given element.
| void insert | ( | const Item & | item, |
| int | cls | ||
| ) | [inline] |
This methods inserts the element item a into the cls class.
| void clear | ( | ) | [inline] |
Erase each item from the data structure.
| int find | ( | const Item & | item | ) | const [inline] |
Gives back the class of the item.
| Item item | ( | int | cls | ) | const [inline] |
Gives back a representant item of the component.
| void erase | ( | const Item & | item | ) | [inline] |
Removes the element from its component and if the component becomes empty then removes that component from the component list.
| void eraseClass | ( | int | cdx | ) | [inline] |
Removes the component of the given element from the structure.
1.7.3