Listas
Una lista es una estructura de datos que almacena una colección finita (pero variable), homogénea y ordenada de elementos.
Características principales
- Acceso indexado: Los elementos de una lista pueden ser accedidos por posición o índice.
- Tamaño dinámico: La mayoría de las implementaciones permiten que las listas cambien de tamaño dinámicamente.
- Orden: Los elementos están almacenados en orden, y la posición de los elementos es importante.
- Tipos de elementos: Las listas pueden contener elementos del mismo tipo o tipos diferentes, dependiendo de la implementación del lenguaje.
Tipos de listas
Existen 3 tipos de listas:
- Listas enlazadas (linked list): se pueden recorrer en un único sentido.
- Listas doblemente enlazadas (doubly linked list): se pueden recorrer en ambos sentidos.
- Listas enlazadas circulares (circular linked list): se pueden recorrer en un único sentido y el último elemento enlaza con el primero.

Operaciones básicas
Las operaciones básicas en una estructura de datos de una lista incluyen aquellas que permiten la manipulación y el acceso a los elementos de la lista.
- Append: Añadir un elemento a la lista, ya sea al inicio, al final o en una posición específica.
- Get: Acceder a un elemento específico en la lista sin eliminarlo a partir de su índice.
- Remove: Quitar un elemento de la lista, ya sea al inicio, al final o en una posición específica.
- Size: Determina el número de elementos en la lista.
- IsEmpty: Verificar si la lista no tiene elementos.

Otras operaciones más avanzadas sobre listas son:
- Modify: Cambiar el valor de un elemento en una posición específica.
- Delete: Eliminar todos los elementos de la lista.
- Concat: Unir dos listas para formar una sola.
- Splice: Obtener una nueva lista que es una subsección de la lista original.
- Search: Buscar la primera posición de un elemento dado en la lista.
Usos comunes de las listas
- Almacenamiento de datos: Las listas se utilizan para almacenar y gestionar datos en orden.
- Manipulación de datos: Las listas permiten realizar operaciones como clasificación, ordenado, filtrado y modificación de datos.