Top Menu

31 de marzo de 2013

Lista enlazada en Java

Un tema interesante ya que es base para realizar un sin fin de estructuras de datos. Aunque esto se puede hacer paso a paso java tiene una librería llamada java util en la cual se encuntran Listas enlazadas listas para utilizar, colas, pilas etc. Pero en esta caso lo vamos a hacer a patita. 

Comencemos..

En mi caso me gusta tomar casos de la vida cotidiana y hacer una analogía con las cosas que quiero aprender -aunque no es siempre-.

Por esto vamos a tomar una fila de niños, no se si has oido lo de "a un brazo de distancia", pero hagamos lo siguiente:
  • Los niños van a hacer los objetos, clases o instancia como le quieras llamar :D.
  • El brazo de cada niño es su puntero "siguiente"

Aca hay algo importante a ver y es ¿que es un mendigo puntero :D? Pues en este caso es el que me indica quien es el siguiente niño -siguiente elemento- y por lo tanto guarda la información de donde esta el niño. Los punteros los podemos manejar a nuestro antojo por ejemplo si queremos que nos indique quien es el niño anterior o el niño que sigue.

Para el ejemplo de lista enlazada vamos a tener dos punteros uno llamado inicio el cual me indicará donde inicia la lista y si pierdo este puntero perdere toda la lista. El otro puntero es el puntero último esto es porque cada nuevo niño -elemento- que ingrese lo ingresaremos al final de la fila -lista-.

El algoritmo para inserción de elementos para una lista enlazada sería el siguiente:
  1. Crear un nuevo elemento
  2. Si no hay ningun elemento en la lista
    1. El nuevo elemento será el inicio de la lista
    2. El nuevo elemento será el último de la lista
  3. Si ya existen elementos
    1. Al último elemento le indicamos que el nuevo elemento será su siguiente
    2. El nuevo elemento se convertirá en el último elemento.
Siguiendo con el tema, coloco un ejemplo de lista enlazada y explicando que hace. El ejemplo se basa en lo que comentaba de los niños en la fila "a una brazo de distancia" :D
Resultado del ejemplo:

Puedes descargar el Ejemplo de Lista Enlazada

Espero que te haya servido. Dios te bendiga.

1 comentarios:

Publicar un comentario