#include <tpl_graph.H>
Diagrama de herencias de Aleph::Graph_Node< Node_Info >
Diagrama de colaboración para Aleph::Graph_Node< Node_Info >: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.