|
| ListaDoble2 () |
| Constructor por defecto.
|
|
| ~ListaDoble2 () |
| Destructor.
|
|
| ListaDoble2 (const ListaDoble2< T > &l) |
| Constructor de copia.
|
|
ListaDoble2< T > & | operator= (const ListaDoble2 &l) |
| Operador de asignación.
|
|
void | AgregarInicio (T valor) |
| Agrega un elemento al inicio de la lista.
|
|
void | AgregarFinal (T valor) |
| Agrega un elemento al final de la lista.
|
|
void | AgregarPos (T valor, int pos) |
| Agrega un elemento en una posición específica de la lista.
|
|
void | EliminarInicio () |
| Elimina el primer elemento de la lista.
|
|
void | EliminarFinal () |
| Elimina el último elemento de la lista.
|
|
void | EliminarPos (int pos) |
| Elimina el elemento en una posición específica de la lista.
|
|
bool | BuscarValor (T valor) const |
| Busca un valor en la lista.
|
|
int | BuscarPos (T valor) const |
| Busca la posición de un valor en la lista.
|
|
bool | EstaVacia () const |
| Verifica si la lista está vacía.
|
|
T | ObtenerPrimero () const |
| Obtiene el primer elemento de la lista.
|
|
T | ObtenerUltimo () const |
| Obtiene el último elemento de la lista.
|
|
T | ObtenerPorPos (int pos) const |
| Obtiene el elemento en una posición específica de la lista.
|
|
void | ModificarPos (T valor, int pos) |
| Modifica el valor del elemento en una posición específica de la lista.
|
|
int | NumElementos () const |
| Obtiene el número de elementos en la lista.
|
|
void | Vaciar () |
| Vacía la lista, eliminando todos los elementos.
|
|
void | Imprimir () const |
| Imprime los elementos de la lista en orden.
|
|
void | ImprimirReversa () const |
| Imprime los elementos de la lista en orden inverso.
|
|
T & | operator[] (int pos) |
| Sobrecarga del operador [] para acceder a los elementos de la lista.
|
|
const T & | operator[] (int pos) const |
| Sobrecarga del operador [] constante para acceder a los elementos de la lista.
|
|
void | Intercambiar (ListaDoble2< T > &lista) |
| Intercambia el contenido de la lista con otra lista.
|
|
void | TransferirRango (ListaDoble2< T > &otraLista, int posInicio, int posFin) |
| Transfiere un rango de elementos desde otra lista a esta lista.
|
|
void | TransferirTodos (ListaDoble2< T > &otraLista) |
| Transfiere todos los elementos desde otra lista a esta lista.
|
|
void | Concatenar (ListaDoble2< T > &otraLista) |
| Concatena otra lista al final de esta lista.
|
|
void | OrdenarBurbuja (bool ascendente=true) |
| Ordena los elementos de la lista utilizando el algoritmo de ordenamiento burbuja.
|
|
void | OrdenarInsercion (bool ascendente=true) |
| Ordena los elementos de la lista utilizando el algoritmo de ordenamiento por inserción.
|
|
void | OrdenarSeleccion (bool ascendente=true) |
| Ordena los elementos de la lista utilizando el algoritmo de ordenamiento por selección.
|
|
void | EliminarRepetidos () |
| Elimina todas las ocurrencias repetidas de elementos en la lista.
|
|
void | TransferirDesde (ListaDoble2< T > &otraLista, int posInicio) |
| Transfiere los elementos de otra lista a partir de una posición especificada.
|
|
void | EliminarTodasOcurrencias (T valor) |
| Elimina todas las ocurrencias de un valor específico en la lista.
|
|
void | EliminarConCondicion (bool(*condicion)(T)) |
| Elimina los elementos que cumplen con una condición dada.
|
|
void | OrdenarAscendente () |
| Ordena los elementos de la lista en orden ascendente.
|
|
template<typename T>
class ListaDoble2< T >
Permite manipular una lista doblemente enlazada con una serie de operaciones como agregar elementos, eliminar elementos, buscar elementos, entre otras.
- Template Parameters
-
T | Tipo de dato de los elementos almacenados en la lista. |
Ejemplo.cpp
#include <iostream>
bool EsPar(int valor) {
return valor % 2 == 0;
}
int main() {
std::cout <<
"Lista vacia? " << (lista.
EstaVacia() ?
"Si" :
"No") << std::endl;
std::cout << "Agregaremos elementos\n";
std::cout << "Elementos de la lista: ";
std::cout << std::endl;
std::cout << "Elementos de la lista (reversa): ";
std::cout << std::endl;
std::cout << "Elementos de la lista despues de modificar el valor en la posicion 2: ";
std::cout << std::endl;
int valorABuscar = 15;
std::cout <<
"¿El valor " << valorABuscar <<
" está en la lista? " << (lista.
BuscarValor(valorABuscar) ?
"Si" :
"No") << std::endl;
std::cout <<
"Primer elemento de la lista: " << lista.
ObtenerPrimero() << std::endl;
std::cout <<
"Ultimo elemento de la lista: " << lista.
ObtenerUltimo() << std::endl;
std::cout << "Elementos de la lista despues de eliminar el valor en la posicion 3: ";
std::cout << std::endl;
std::cout << "Elementos de la lista despues de transferir desde otra lista: ";
std::cout << std::endl;
std::cout << "Elementos de la lista despues de eliminar todas las ocurrencias de 100: ";
std::cout << std::endl;
std::cout << "Elementos de la lista despues de ordenar en orden ascendente: ";
std::cout << std::endl;
std::cout << "Elementos de la lista despues de eliminar elementos repetidos: ";
std::cout << std::endl;
std::cout << "Elementos de la lista despues de eliminar elementos pares: ";
std::cout << std::endl;
return 0;
}
Implementación de una lista doblemente enlazada.
Definition ListaDoble2.hpp:135
void ImprimirReversa() const
Imprime los elementos de la lista en orden inverso.
void EliminarPos(int pos)
Elimina el elemento en una posición específica de la lista.
T ObtenerUltimo() const
Obtiene el último elemento de la lista.
void OrdenarAscendente()
Ordena los elementos de la lista en orden ascendente.
void ModificarPos(T valor, int pos)
Modifica el valor del elemento en una posición específica de la lista.
void AgregarFinal(T valor)
Agrega un elemento al final de la lista.
void Imprimir() const
Imprime los elementos de la lista en orden.
void AgregarInicio(T valor)
Agrega un elemento al inicio de la lista.
bool EstaVacia() const
Verifica si la lista está vacía.
void EliminarConCondicion(bool(*condicion)(T))
Elimina los elementos que cumplen con una condición dada.
void EliminarTodasOcurrencias(T valor)
Elimina todas las ocurrencias de un valor específico en la lista.
void TransferirTodos(ListaDoble2< T > &otraLista)
Transfiere todos los elementos desde otra lista a esta lista.
void EliminarRepetidos()
Elimina todas las ocurrencias repetidas de elementos en la lista.
T ObtenerPrimero() const
Obtiene el primer elemento de la lista.
bool BuscarValor(T valor) const
Busca un valor en la lista.
Salida:
Lista vacia? Si
Agregaremos elementos
Elementos de la lista: 2, 5, 10, 20, 30,
Elementos de la lista (reversa): 30, 20, 10, 5, 2,
Elementos de la lista despues de modificar el valor en la posicion 2: 2, 5, 15, 20, 30,
┐El valor 15 estß en la lista? Si
Primer elemento de la lista: 2
Ultimo elemento de la lista: 30
Elementos de la lista despues de eliminar el valor en la posicion 3: 2, 5, 20, 30,
Elementos de la lista despues de transferir desde otra lista: 2, 5, 20, 30, 100, 200, 200, 400, 100, 200, 300, 400,
Elementos de la lista despues de eliminar todas las ocurrencias de 100: 2, 5, 20, 30, 100, 200, 200, 400, 200, 300, 400,
Elementos de la lista despues de ordenar en orden ascendente: 2, 5, 20, 30, 100, 200, 200, 200, 300, 400, 400,
Elementos de la lista despues de eliminar elementos repetidos: 2, 5, 20, 30, 100, 200, 300, 400,
Elementos de la lista despues de eliminar elementos pares: 5,