Aleph-w  1.9
General library for algorithms and data structures
Aleph::DynSlist< T > Class Template Reference

#include <tpl_dynSlist.H>

+ Inheritance diagram for Aleph::DynSlist< T >:
+ Collaboration diagram for Aleph::DynSlist< T >:

Classes

class  Iterator
 

Public Types

typedef Snode< T > Node
 

Public Member Functions

 DynSlist ()
 Constructor.
 
T & operator[] (const size_t &i)
 
size_t size () const
 Retorna la cantidad de elementos que tiene la lista.
 
void insert (const int &pos, const T &data)
 
void remove (const int &pos)
 
virtual ~DynSlist ()
 Destructor.
 
void insert_first (Node *node)
 
Noderemove_first_ne () noexcept
 
Noderemove_first ()
 
Nodeget_first ()
 Retorna el primer nodo de la lista.
 
Snode *& get_first () const
 Retorna el nodo siguiente a this.
 
T & get_data ()
 Retorna una referencia al dato contenido en el nodo.
 
Snoderemove_next ()
 
Snode *& get_next ()
 Retorna el nodo siguiente a this.
 
void reset ()
 Reinicia enlace a que apunte a sí mismo.
 
bool is_empty () const
 Retorna true si this está vacío (apunta a sí mismo)
 
void insert_next (Slink *p)
 

Protected Attributes

Slinknext
 

Detailed Description

template<typename T>
class Aleph::DynSlist< T >

Lista dinámica de elementos de tipo T instrumentada mediante una lista simplemente enlazada.

Parameters
Tel tipo de dato de los elementos de la lista.
See also
Slist Snode Slink

Member Function Documentation

◆ insert()

template<typename T >
void Aleph::DynSlist< T >::insert ( const int &  pos,
const T &  data 
)
inline

Inserta un elemento en la posición pos dentro de una lista dinámica.

insert(pos, data) inserta en la posición pos de la lista this el elemento cuyo valor es data.

Parameters
[in]posposición de inserción.
[in]datavalor del elemento a insertar.
Exceptions
bad_allocsi no hay suficiente memoria.
out_of_rangesi pos está fuera de rango.
+ Here is the call graph for this function:

◆ insert_first()

template<typename T>
void Aleph::Slist< T >::insert_first ( Node node)
inlineinherited

Inserta un nodo después de this.

insert_first(node) inserta el nodo justamente después del nodo this.

Parameters
[in]nodeel nodo a insertar.
+ Here is the call graph for this function:

◆ insert_next()

void Aleph::Slink::insert_next ( Slink p)
inlineinherited

Inserta en enlace p después de this.

insert_next(p) inserta un nodo simple cuyo enlace es p después del nodo cuyo enlace es this.

Parameters
[in]pel enlace simple a insertar.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator[]()

template<typename T >
T& Aleph::DynSlist< T >::operator[] ( const size_t &  i)
inline

Acceso al i-ésimo elemento de la lista.

El operador [i] sobre una lista accede al elemento cuya posición es i.

El acceso a la posición i requiere recorrer secuencialmente los i - 1 elementos previos.

Parameters
[in]iposición del elemento que se desea acceder.
Exceptions
out_of_range_errorsi i es mayor que la cantidad de elementos de la lista.
Returns
una referencia constante al elemento i dentro de la lista.
Note
En términos de desempeño, este operador no es el mismo que el acceso sobre un arreglo.
+ Here is the call graph for this function:

◆ remove()

template<typename T >
void Aleph::DynSlist< T >::remove ( const int &  pos)
inline

Elimina de la lista el elemento es la posición pos.

Parameters
[in]posposición del elemento a eliminar.
Exceptions
out_of_rangesi pos está fuera de rango.
+ Here is the call graph for this function:

◆ remove_first()

template<typename T>
Node* Aleph::Slist< T >::remove_first ( )
inlineinherited

Elimina el primer nodo de la lista y retorna su dirección.

Elimina el primer nodo de la lista.

Exceptions
underflow_errorsi la lista está vacía.
Returns
un puntero al nodo eliminado.
+ Here is the call graph for this function:

◆ remove_next()

template<typename T>
Snode* Aleph::Snode< T >::remove_next ( )
inlineinherited

Elimina el nodo siguiente a this.

remove_next() elimina el nodo enlazado después de this y retorna su dirección de memoria.

Returns
el nodo eliminado.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file:

Leandro Rabindranath León