#include <htlist.H>
Diagrama de herencias de Aleph::HTListClases | |
| class | Iterator |
Métodos públicos | |
| HTList () | |
| Inicializa una lista vacía. | |
| HTList (Slinknc *l) | |
| Inicializa una lista de un solo Slinknc. | |
| bool | is_empty () const |
| Retorna true si la lista está vacía. | |
| bool | is_unitarian () const |
| Retorna true si la lista contiene exactamente un solo elemento. | |
| bool | is_unitarian_or_empty () const |
| Retorna true si la lista tiene un elemento o está vacía. | |
| Slinknc * | get_head () |
| Retorna la cabeza de la lista (el primer elemento) | |
| Slinknc * | get_tail () |
| Retorna la cola de la lista (el último elemento) | |
| Slinknc * | get_first () |
| Retorna el primer elemento de la lista. | |
| Slinknc * | get_last () |
| Retorna el último elemento de la lista. | |
| HTList & | swap (HTList &l) |
| void | insert (Slinknc *link) |
| Inserta link como primer elemento. | |
| void | push (Slinknc *link) |
| Inserta link como primer elemento. | |
| void | append (Slinknc *link) |
| Inserta link como último elemento. | |
| void | append (HTList &l) |
| void | put (Slinknc *link) |
| Inserta link al final de la lista. | |
| void | concat (HTList &l) |
| Concatena a this toda la lista l; l deviene vacía. | |
| void | concat_list (HTList &l) |
| void | insert (HTList &l) |
| Inserta toda la lista l antes de this; l deviene vacía. | |
| void | insert (Slinknc *link, HTList &list) |
| Slinknc * | remove_head () |
| Slinknc * | remove_first () |
| Elimina el primer elemento de this. | |
| bool | remove (Slinknc *link) |
| Slinknc * | pop () |
| Elimina el primer elemento de this. | |
| size_t | split_list (HTList &l, HTList &r) |
| size_t | split (HTList &l, HTList &r) |
| size_t | reverse () |
| Invierte los elementos de la lista. Retorna el tamaño de la lista. | |
| size_t | reverse_list () |
| void | cut (Slinknc *link, HTList &list) |
| void | cut_list (Slinknc *link, HTList &list) |
| void | remove_all_and_delete () |
| void | insert (const Iterator &it, HTList &list) |
| void | cut_list (const Iterator &it, HTList &list) |
| size_t | size () const |
Lista simplemente enlazada.
HTList modeliza una lista de objetos Slinknc. Un Slinknc es un enlace simple que puede estar contenido dentro de cualquier estructura.
Una HTlist mantiene dos referencias. Una llamada "cabeza" (head) correspondiente al primer Slinknc de la secuencia; y otra llamada "cola" o tail, correspondiente al último elemento de la secuencia.
Recuerde que esta clase maneja punteros a Slinknc, no a datos con tipo.
Véase Dynlist para una secuencia de tipos cualesquiera instrumentada con HTLink.
Para una explicación complementaria véase la documentación de Slinknc y Snodenc.
|
inline |
Inserta al final toda la lista l a this; l deviene vacía. Equivalente a concatenarle l a this.
Hace referencia a is_empty() y swap().
Gráfico de llamadas para esta función:
|
inline |
Esta es una función miembro sobrecargada que se suministra por conveniencia. Difiere de la anterior función solamente en los argumentos que acepta.
Hace referencia a append().
Gráfico de llamadas para esta función:Corta this por el elemento link y coloca los elementos restantes (los que están después de link) en list
Hace referencia a is_empty().
Referenciado por cut_list().
Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:Esta es una función miembro sobrecargada que se suministra por conveniencia. Difiere de la anterior función solamente en los argumentos que acepta.
Hace referencia a cut().
Gráfico de llamadas para esta función:Corta this en la posición actual del iterador. Los elementos restantes se ponen en list
Hace referencia a cut().
Gráfico de llamadas para esta función:Inserta a partir de link (contenido en la lista this) la lista list. list deviene vacía
|
inline |
Elimina el enlace con dirección link. Retorna true si en efecto fue eliminado
Hace referencia a is_empty() y Aleph::Slinknc::reset().
Gráfico de llamadas para esta función:
|
inline |
Asumiendo que los elementos fueron apartados con new, elimina todos los elementos de la lista y libera la memoria.
Hace referencia a is_empty() y remove_head().
Gráfico de llamadas para esta función:
|
inline |
Elimina el elemento en la cabeza (el primero). Retorna el elemento eliminado.
Hace referencia a is_empty() y Aleph::Slinknc::reset().
Referenciado por pop(), Aleph::DynList< GT >::remove(), remove_all_and_delete() y remove_first().
Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:
|
inline |
Esta es una función miembro sobrecargada que se suministra por conveniencia. Difiere de la anterior función solamente en los argumentos que acepta.
Hace referencia a reverse().
Gráfico de llamadas para esta función:Esta es una función miembro sobrecargada que se suministra por conveniencia. Difiere de la anterior función solamente en los argumentos que acepta.
Hace referencia a split_list().
Gráfico de llamadas para esta función:Divide this en dos listas equitativas sin alterar el orden de los elementos. l contiene los n/2 primeros elementos y r los n/2 siguientes. Retorna la cantidad total de elementos de this. this deviene vacía
Hace referencia a Aleph::count(), is_empty(), is_unitarian() y swap().
Referenciado por split().
Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:Intercambia en tiempo constante (muy rápido) los elementos de this con los de l
Referenciado por append(), insert(), reverse() y split_list().
Gráfico de llamadas a esta función: