#include <tpl_graph.H>
Tipos públicos | |
typedef __Node_Info | Node_Info |
typedef __Node_Info | Node_Info |
Métodos públicos | |
GRAPH_NODE_COMMON (Graph_Node) | |
Graph_Node () | |
Graph_Node (const Graph_Node &) | |
Graph_Node (const Node_Info &info) | |
Graph_Node (Graph_Node *node) | |
Graph_Node () | |
Graph_Node (const Graph_Node &node) | |
Graph_Node (Graph_Node &&node) | |
Graph_Node (const Node_Info &info) | |
Graph_Node (Node_Info &&info) | |
Graph_Node (Graph_Node *node) | |
Métodos públicos heredados desde Aleph::Dlink | |
Dlink & | swap (Dlink &l) |
Dlink (const Dlink &) | |
Constructor copia reinicia (no copia) | |
Dlink (Dlink &&l) | |
Dlink & | operator= (const Dlink &l) |
Dlink & | operator= (Dlink &&l) |
void | reset () |
Reinicia dlink (equivalente a que se vacíe la lista) | |
void | init () |
inicializa dlink. A usarse cuandos e use malloc | |
void | swap (Dlink *link) |
bool | is_empty () const |
retorna true si this está vacía | |
bool | is_unitarian () const |
retorna true si this tiene exactamente un elemento | |
bool | is_unitarian_or_empty () const |
retorna true si this tiene uno o ningún elemento | |
void | insert (Dlink *node) |
void | push (Dlink *node) |
void | append (Dlink *node) |
Dlink *& | get_next () |
Retorna enlace después de this . | |
Dlink * | top () |
retorna el primer nodo (como si fuera pila) | |
Dlink *& | get_prev () |
Retorna enlace antes de this . | |
Dlink *& | get_first () |
Retorna el enlace del primer elemento de this . | |
Dlink *& | get_last () |
Retorna el enlace del último elelemto de this . | |
void | insert_list (Dlink *head) |
void | append_list (Dlink *head) |
void | concat_list (Dlink *head) |
void | concat_list (Dlink &head) |
void | del () |
Elimina this de su contexto en una lista. | |
void | erase () |
Elimina this de su contexto en una lista. | |
Dlink * | remove_prev () |
Dlink * | remove_next () |
Elimina el sucesor de this . | |
Dlink * | remove_last () |
Elimina el último elemento de this. | |
Dlink * | remove_first () |
Elimina el primer elemento de this. | |
Dlink * | pop () |
Elimina el primer elemento de this (como si fuese pila) | |
size_t | reverse_list () |
size_t | split_list (Dlink &l, Dlink &r) |
Dlink | cut_list (Dlink *link) |
Corta la lista this por el enlace link y pasa todos los elementos a la lista vacía list . Más... | |
void | remove_all_and_delete () |
Elimina y libera memoria todos los nodos de this. Más... | |
bool | check () |
Atributos públicos | |
Dlink | arc_list |
Amigas | |
class | Arc_Node |
Otros miembros heredados | |
Atributos protegidos heredados desde Aleph::Dlink | |
Dlink * | prev |
Dlink * | next |
Nodo de grafo implantado con listas de adyacencia.
Esta clase define un nodo o vértice de un grafo o digrafo implantado mediante listas de adyacencia.
Básicamente, hay tres maneras de definir la información que pertenece a un nodo de un grafo:
Node_Info
.Node_Info | Tipo de dato guardado en el grafo y accesible mediante el método get_info() . |
List_Graph
. Si bien es posible usar algunos métodos o acceder algunos de sus atributos, es altamente recomendable no usarla. En su lugar, se debe utilizar el tipo List_Graph::Node
y sus métodos asociados.Un nodo de grafo tiene tres atributos adicionales presentes por cada nodo y denominados del siguiente modo:
Bit_Fields
): conjunto de bits usados por los algoritmos para marcar el nodo.counter
): contador generalmente usado para marcar un orden de visita o procesamiento.cookie:
puntero opaco hacia cualquier otra información temporal que se desee asociar al nodo.
|
inline |
Constructor por omisión.
El valor de la información contenida en el nodo está determinada por el valor que asigne el constructor Node_Info::Node_Info
, donde Node_Info
es el tipo asociado al nodo.
Los valores de los bits de control y del contador son colocados en cero. El cookie
es colocado en NULL
.
|
inline |
Constructor que asigna un valor de atributo.
Crea un nodo y le asigna el valor info
como valor de la información contenida en el nodo.
Los valores de los bits de control y del contador son colocados en cero. El cookie
es colocado en NULL
.
[in] | info | el valor de información que se desea asignar al nodo recién creado. |
|
inline |
Constructor copia a partir de un puntero a nodo.
Crea un nodo y le asigna el valor node->get_info()
como valor de la información contenida en el nodo.
Los valores de los bits de control y del contador son colocados en cero. El cookie
es colocado en NULL
.
[in] | node | puntero al nodo desde el cual se desea copiar el valor de información que se desea asignar al nodo recién creado. |
node
.
|
inline |
Constructor por omisión.
El valor de la información contenida en el nodo está determinada por el valor que asigne el constructor Node_Info::Node_Info
, donde Node_Info
es el tipo asociado al nodo.
Los valores de los bits de control y del contador son colocados en cero. El cookie
es colocado en NULL
.
|
inline |
Constructor que asigna un valor de atributo.
Crea un nodo y le asigna el valor info
como valor de la información contenida en el nodo.
Los valores de los bits de control y del contador son colocados en cero. El cookie
es colocado en NULL
.
[in] | info | el valor de información que se desea asignar al nodo recién creado. |
|
inline |
Constructor copia a partir de un puntero a nodo.
Crea un nodo y le asigna el valor node->get_info()
como valor de la información contenida en el nodo.
Los valores de los bits de control y del contador son colocados en cero. El cookie
es colocado en NULL
.
[in] | node | puntero al nodo desde el cual se desea copiar el valor de información que se desea asignar al nodo recién creado. |
node
.