Listas Enlazadas


Las listas enlazadas son estructuras de datos fundamentales que permiten almacenar datos en una secuencia de nodos con punteros que apuntan al siguiente nodo. A diferencia de los arrays, el orden de los elementos enlazados puede ser diferente al orden de almacenamiento físico en memoria. Las pilas son una estructura de datos de entradas ordenadas que solo se introduce y elimina por un extremo, llamado cima o tope. Ambas son estructuras dinámicas que permiten añadir o eliminar nodos en cualquier lugar, aunque la lista enlazada no permite un acceso aleatorio.

lista enlazada.PNG

Conocimientos de una lista enlazadas


Construcción de una lista


Cada elemento de la lista contiene uno o varios campos con los datos y un puntero apuntando a la dirección donde está ubicado el  siguiente nodo. Cada objeto de la lista se llama nodo y contiene como se ha dicho los datos y un puntero al siguiente elemento.

La lista comienza desde la pila con un puntero apuntando al primer nodo, después el primer nodo tiene un puntero apuntando al segundo nodo y así sucesivamente hasta que el puntero del último nodo contiene null.

Nodos y punteros


Un nodo es una variable de un tipo dado, entero, cadena, etc. almacenada en la memoria. En este caso es una variable de tipo object. Un puntero es un dato que contiene la dirección del siguiente nodo. En este caso es un objeto de tipo nodo que apunta al siguiente nodo llamado next.

Insertar un elemento en la lista


Para insertar un nuevo elemento en la lista se sigue la siguiente secuencia:

Inserción de una lista vacía


Las etapas para insertar un elemento en una lista vacía son las siguientes:

Pilas


Una pila es una estructura de datos de entradas ordenadas tales que solo se introduce y elimina por un extremo, llamado cima o tope.

<aside> 💡 Una pila siempre tendrá esta estructura

pilas.PNG

</aside>

Estructuras dinámicas


Nodo.PNG