Tipos públicos | |
typedef Graph_Arc | Arc |
Tipo de Arco. | |
typedef Agents_Arc_Info | Arc_Type |
Tipo de información asociada al arco. | |
Métodos públicos | |
void | append (Dlink *node) |
Inserta node antes de this . | |
void | append_list (Dlink *head) |
Inserta lista encabezada por head antes del nodo this . | |
void | concat_list (Dlink *head) |
Concatena lista encabezada por head a lista encabezada por this. | |
void | cut_list (Dlink *link, Dlink *list) |
Corta la lista this por el enlace link y pasa todos los elementos a la lista vacía list . | |
void | del () |
Elimina this de su contexto en una lista. | |
Agents_Arc_Info & | get_info () |
Retorna la información almacenada en el arco. | |
Dlink *& | get_next () |
Retorna enlace después de this . | |
Dlink *& | get_prev () |
Retorna enlace antes de this . | |
void | insert (Dlink *node) |
Inserta node después de this. | |
void | insert_list (Dlink *head) |
Inserta lista encabezada por head después del nodo this . | |
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 | remove_all_and_delete () |
Elimina y libera memoria todos los nodos de this. | |
Dlink * | remove_next () |
Elimina el sucesor de this . | |
Dlink * | remove_prev () |
Elimina el anterior a this . | |
void | reset () |
Reinicia dlink (equivalente a que se vacíe la lista). | |
int | reverse_list () |
Invierte lista encabezada por this y retorna la cantidad de elementos de la lista. | |
size_t | split_list (Dlink &l, Dlink &r) |
Particiona lista encabezada por this en dos listas equitativas que son colocadas en l y r respectivamente. | |
void | swap (Dlink *link) |
Intercambia listas encabezadas con this y link en tiempo constante. | |
Atributos públicos | |
Bit_Fields | control_bits |
bits de control del arco |
Definición en la línea 109 del archivo tpl_agent.H.
void append | ( | Dlink * | node | ) | [inline, inherited] |
[in] | node | puntero a nodo; el nodo no debe formar de una lista |
Definición en la línea 171 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, y Dlink::prev.
Referenciado por Aleph::dlink_random_search(), Aleph::dlink_random_select(), List_Graph::insert_arc(), Tree_Node::insert_left_sibling(), List_Graph::insert_node(), Aleph::merge_lists(), Aleph::quicksort(), Aleph::selection_sort(), y Dlink::split_list().
void append_list | ( | Dlink * | head | ) | [inline, inherited] |
La función asume que this es un nodo que conforma una lista y que antes de él se desea insertar enteramente la lista cuyo nodo cabecera es head
[in] | head | cabecera de la lista que se desea insertar antes del nodo this |
Definición en la línea 230 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, Dlink::prev, y Dlink::reset().
Referenciado por DynDlist< Aleph::Path::Path_Desc >::append_list().
void concat_list | ( | Dlink * | head | ) | [inline, inherited] |
El método asume que this es una cabecera de una lista y le concatena enteramente la lista cuya cabecera es head.
Después de la operación head deviene vacío.
head | cabecera de la lista que se desea concatenar |
Definición en la línea 250 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, Dlink::prev, Dlink::reset(), y Dlink::swap().
Referenciado por Aleph::dlink_random_search(), Aleph::dlink_random_select(), Aleph::merge_lists(), y Aleph::quicksort().
Particiona la lista cuyo nodo cabecera es this
, a partir de uno de sus nodos apuntados por link
y coloca todos los elementos desde link
hasta el final de la lista en la lista vacía list
.
[in] | link | puntero al elemento de la lista this a partir del cual se desea realizar la partición. |
[out] | list | cabecera de lista vacía. Luego de la operación, esta lista contiene los elementos que estaban en this a partir de link |
Definición en la línea 389 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, y Dlink::prev.
Referenciado por list::splice().
void insert | ( | Dlink * | node | ) | [inline, inherited] |
[in] | node | nodo aislado que debe apuntar a sí mismo sin estar enlado a otros elementos |
Definición en la línea 155 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, y Dlink::prev.
Referenciado por Tree_Node::insert_right_sibling(), Dlink::reverse_list(), y Dlink::split_list().
void insert_list | ( | Dlink * | head | ) | [inline, inherited] |
La función asume que this es un nodo que conforma una lista y que a partir de él se desea insertar enteramente la lista cuyo nodo cabecera es head
[in] | head | cabecera de la lista que se desea insertar en el nodo this |
Definición en la línea 209 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, Dlink::prev, y Dlink::reset().
Referenciado por DynDlist< Aleph::Path::Path_Desc >::insert_list().
void remove_all_and_delete | ( | ) | [inline, inherited] |
new
Definición en la línea 658 del archivo dlink.H.
Hace referencia a Dlink::del(), Dlink::Iterator::get_current(), Dlink::Iterator::has_current(), y Dlink::Iterator::next().
Referenciado por GenLinearHashTable< Key, LhashBucket, Aleph::equal_to< Key > >::empty().
Dlink* remove_prev | ( | ) | [inline, inherited] |
Elimina el nodo anterior de this
.
Reimplementado en Dnode, Dnode< Aleph::Path::Path_Desc >, y Dnode< Aleph::pair< T, Elem > >.
Definición en la línea 287 del archivo dlink.H.
Hace referencia a Dlink::del().
Referenciado por Dnode< Aleph::pair< T, Elem > >::remove_prev(), y Dlink::split_list().
int reverse_list | ( | ) | [inline, inherited] |
Definición en la línea 317 del archivo dlink.H.
Hace referencia a Dlink::insert(), Dlink::is_empty(), Dlink::remove_next(), y Dlink::swap().
Retorna la cantidad de elementos que tenía this antes de la partición.
El método toma la lista cuyo nodo cabecera es this y la particiona equitativamente por el centro.
Después de la operación la this deviene vacío.
[out] | l | lista con los primeros n/2 elementos |
[out] | r | lista con los últimos n/2 elementos |
Definición en la línea 356 del archivo dlink.H.
Hace referencia a Dlink::append(), Dlink::insert(), Dlink::is_empty(), Dlink::remove_next(), y Dlink::remove_prev().
Referenciado por Aleph::mergesort(), y DynDlist< Aleph::Path::Path_Desc >::split_list().
void swap | ( | Dlink * | link | ) | [inline, inherited] |
[in] | link | enlace a cabecera de la otra lista de intercambio |
Definición en la línea 110 del archivo dlink.H.
Hace referencia a Dlink::is_empty(), Dlink::next, Dlink::prev, y Dlink::reset().
Referenciado por Dlink::concat_list(), Aleph::dlink_random_search(), Aleph::insertion_sort(), Dlink::reverse_list(), Aleph::selection_sort(), y DynDlist< Aleph::Path::Path_Desc >::swap().