Tipos públicos | |
typedef GenDlist< Dlist_Node, T >::Iterator | Iterator |
Tipo de Iterador que maneja la lista. | |
typedef GenDlist< Dlist_Node, T >::Node | Node |
Tipo de nodo que maneja la lista. | |
Métodos públicos | |
void | append (const T &_data) throw (std::exception, std::bad_alloc) |
Inserta un elemento al final de la lista. | |
size_t | append_list (DynDlist &list) |
Inserta list depués de this; el resultado es this-list. | |
DynDlist (const DynDlist &list) | |
Constructor copia; todos los elementos de this son copiados. | |
DynDlist () | |
Constructor por omisión. | |
void | empty () |
Vacía todos los elementos de la lista. | |
T & | get_first () throw (std::exception, std::underflow_error) |
Retorna una referencia al primer elemento de la lista. | |
T & | get_last () throw (std::exception, std::underflow_error) |
Retorna una referencia al último elemento de la lista. | |
void | insert (const T &_data) throw (std::exception, std::bad_alloc) |
Inserta un elemento al principio de la lista. | |
size_t | insert_list (DynDlist &list) |
Inserta list antes de this; el resultado es list-this. | |
DynDlist< T > & | operator= (const DynDlist &list) |
Asignación de lista dinámica. | |
T | remove_first () throw (std::exception, std::underflow_error) |
Elimina el primer elemento de la lista: retorna una copia del elemento eliminado. | |
T | remove_last () throw (std::exception, std::underflow_error) |
Elimina el último elemento de la lista: retorna una copia del elemento eliminado. | |
const size_t & | size () const |
Retorna la cantidad de elemento que tiene la lista. | |
void | split_list (DynDlist &l, DynDlist &r) throw (std::exception, std::domain_error) |
Particiona this por el centro la lista dinámica this. | |
void | swap (DynDlist &l) |
Intercambia en tiempo constante todos los elementos de this con los de la lista l. | |
~DynDlist () | |
Destructor. | |
Clases | |
class | Iterator |
Iterador sobre lista dinámica. Más... |
T | el tipo de elementos de la lista. |
Definición en la línea 65 del archivo tpl_dynDlist.H.
void append | ( | const T & | _data | ) | throw (std::exception, std::bad_alloc) [inline] |
Inserta en la lista this como último elemento una copia de _data.
Después de la operación el último elemento de la lista es _data.
[in] | _data | el dato a insertarse. |
bad_alloc | si no hay memoria para el nuevo elemento. |
Definición en la línea 103 del archivo tpl_dynDlist.H.
Referenciado por Aleph::compute_cut_nodes(), DynDlist< Aleph::Path::Path_Desc >::DynDlist(), Aleph::inconnected_components(), Aleph::map_cut_graph(), DynDlist< Aleph::Path::Path_Desc >::operator=(), y Aleph::q_topological_sort().
size_t append_list | ( | DynDlist< T > & | list | ) | [inline] |
El método toma todos los elementos de la lista list y los inserta secuencialmente después de la lista this. La lista list deviene vacía.
El método toma tiempo constante.
Si se requiere que list no sea vaciada, entonces el proceso debe ser copiar list y luego efectuar esta operación sobre la copia.
[in,out] | list | lista a ser copiada al final de this. Este parámetro deviene vacío luego de la inserción. |
Definición en la línea 154 del archivo tpl_dynDlist.H.
void insert | ( | const T & | _data | ) | throw (std::exception, std::bad_alloc) [inline] |
Inserta en la lista this como primer elemento una copia de _data.
Después de la operación el primer elemento de la lista es _data.
[in] | _data | el dato a insertarse. |
bad_alloc | si no hay memoria para el nuevo elemento. |
Definición en la línea 84 del archivo tpl_dynDlist.H.
size_t insert_list | ( | DynDlist< T > & | list | ) | [inline] |
El método toma todos los elementos de la lista list y los inserta secuencialmente antes de la lista this. La lista list deviene vacía.
El método toma tiempo constante.
Si se requiere que list no sea vaciada, entonces el proceso debe ser copiar list y luego efectuar esta operación sobre la copia.
[in,out] | list | lista a ser copiada al principio de this. Este parámetro deviene vacío luego de la inserción. |
Definición en la línea 127 del archivo tpl_dynDlist.H.
La asignación elimina todos los elementos de this y luego copia en this los elementos contenidos en la lista list.
[in] | list | lista a ser asignada |
bad_alloc | si no hay memoria. |
Definición en la línea 623 del archivo tpl_dynDlist.H.
T remove_first | ( | ) | throw (std::exception, std::underflow_error) [inline] |
underflow_error | si la lista está vacía. |
Reimplementado de GenDlist.
Definición en la línea 188 del archivo tpl_dynDlist.H.
Referenciado por DynDlist< Aleph::Path::Path_Desc >::operator=().
T remove_last | ( | ) | throw (std::exception, std::underflow_error) [inline] |
underflow_error | si la lista está vacía. |
Reimplementado de GenDlist.
Definición en la línea 208 del archivo tpl_dynDlist.H.
void split_list | ( | DynDlist< T > & | l, | |
DynDlist< T > & | r | |||
) | throw (std::exception, std::domain_error) [inline] |
El método particiona la lista this por el centro en tiempo lineal. Los primeros n/2 elementos son copiados a l los siguientes n/2 a r.
Si n es impar, entonces l contendrá n/2 + 1 elementos.
[out] | l | primera partición. |
[out] | r | segunda partición. |
domain_error | si alguna de las listas l o r no están vacías. |
Definición en la línea 261 del archivo tpl_dynDlist.H.
void swap | ( | DynDlist< T > & | l | ) | [inline] |
La operación toma tiempo contante (muy rápido) independientemente de la cantidad de elementos que contengas las dos listas.
l | lista a intercambiar con this |
Definición en la línea 244 del archivo tpl_dynDlist.H.