Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
Referencia de la Clase Aleph::HTList

#include <htlist.H>

+ Diagrama de herencias de Aleph::HTList

Clases

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.
 
Slinkncget_head ()
 Retorna la cabeza de la lista (el primer elemento)
 
Slinkncget_tail ()
 Retorna la cola de la lista (el último elemento)
 
Slinkncget_first ()
 Retorna el primer elemento de la lista.
 
Slinkncget_last ()
 Retorna el último elemento de la lista.
 
HTListswap (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)
 
Slinkncremove_head ()
 
Slinkncremove_first ()
 Elimina el primer elemento de this.
 
bool remove (Slinknc *link)
 
Slinkncpop ()
 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
 

Descripción detallada

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.

Ver también
Slinknc Snodenc DynList
Autor
Alejandro Mujica
Leandro Rabindranath León

Documentación de las funciones miembro

void Aleph::HTList::append ( HTList l)
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:

void Aleph::HTList::concat_list ( HTList l)
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:

void Aleph::HTList::cut ( Slinknc link,
HTList list 
)
inline

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:

void Aleph::HTList::cut_list ( Slinknc link,
HTList list 
)
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 cut().

+ Gráfico de llamadas para esta función:

void Aleph::HTList::cut_list ( const Iterator it,
HTList list 
)
inline

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:

void Aleph::HTList::insert ( Slinknc link,
HTList list 
)
inline

Inserta a partir de link (contenido en la lista this) la lista list. list deviene vacía

bool Aleph::HTList::remove ( Slinknc link)
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:

void Aleph::HTList::remove_all_and_delete ( )
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:

Slinknc* Aleph::HTList::remove_head ( )
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:

size_t Aleph::HTList::reverse_list ( )
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:

size_t Aleph::HTList::split ( HTList l,
HTList r 
)
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 split_list().

+ Gráfico de llamadas para esta función:

size_t Aleph::HTList::split_list ( HTList l,
HTList r 
)
inline

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:

HTList& Aleph::HTList::swap ( HTList l)
inline

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:


La documentación para esta clase fue generada a partir del siguiente fichero:

Leandro Rabindranath León