#include <tpl_graph.H>
Tipos públicos | |
typedef __Arc_Info | Arc_Info |
typedef __Arc_Info | Arc_Info |
Métodos públicos | |
GRAPH_ARC_COMMON (Graph_Arc) | |
Graph_Arc (const Arc_Info &info) | |
Graph_Arc (void *src, void *tgt, const Arc_Info &data) | |
Graph_Arc (void *src, void *tgt) | |
Graph_Arc (const Arc_Info &info) | |
Graph_Arc (Arc_Info &&info) | |
Graph_Arc (void *src, void *tgt, const Arc_Info &info) | |
Graph_Arc (void *src, void *tgt, Arc_Info &&info) | |
Graph_Arc (void *src, void *tgt) | |
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 | |
Arc_Node * | src_arc_node |
Arc_Node * | tgt_arc_node |
Otros miembros heredados | |
Atributos protegidos heredados desde Aleph::Dlink | |
Dlink * | prev |
Dlink * | next |
Arco de grafo implantado con listas de adyacencia.
Esta clase define un arco o eje de un grafo o digrafo implantado mediante listas de adyacencia.
Básicamente, hay tres maneras de definir la información que pertenece a un arco de un grafo:
Arc_Info
.Arc_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::Arc
y sus métodos asociados.Un arco de grafo tiene tres atributos adicionales presentes por cada arco y denominados del siguiente modo:
Bit_Fields
): conjunto de bits usados por los algoritmos para marcar el arco.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 arco.