Tracks
/
Nim
Nim
/
Ejercicios
/
Lista enlazada
Lista enlazada

Lista enlazada

Intermedia

Instrucciones

Implementa una lista doblemente enlazada.

Al igual que un array, una lista enlazada es una estructura de datos lineal y sencilla. Varios tipos de datos comunes se pueden implementar usando listas enlazadas, como colas, pilas y arrays asociativos.

Una lista enlazada es una colección de elementos de datos llamados nodos. En una lista simplemente enlazada, cada nodo contiene un valor y un enlace al siguiente nodo. En una lista doblemente enlazada, cada nodo también contiene un enlace al nodo anterior.

Vas a escribir una implementación de una lista doblemente enlazada. Implementa un Node que contenga un valor y punteros al siguiente nodo y al anterior. Luego implementa una List que contenga referencias al primer y último nodo y ofrezca una interfaz similar a la de un array para agregar y eliminar elementos:

  • push (insertar un valor al final);
  • pop (eliminar un valor del final);
  • shift (eliminar un valor del frente).
  • unshift (insertar un valor al frente);

Para mantener tu implementación simple, los tests no cubrirán condiciones de error. En concreto: nunca se llamará a pop ni a shift sobre una lista vacía.

Lee más sobre las listas enlazadas en Wikipedia.


Fuente

Tema clásico de las ciencias de la computación
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Nim Exercism

¿Todo listo para empezar Lista enlazada?

Regístrate en Exercism para aprender y dominar Nim con 70 ejercicios y mentoría humana real, todo gratis.