Tipos de inserción de datos en listas enlazadas

Hola a todos, hoy os quiero explicar los tipos de inserción de datos que podemos realizar en las listas enlazadas.

Cuando hablamos tipos de inserción de datos, nos referimos, a los modos que podemos insertar los elementos en una lista enlazada.

Tenemos dos tipos de inserción: cola y pila.

El tipo de inserción de cola, los datos se insertan por el final y se sacan por el principio. Imagina una cola de cine, la gente se inserta por el final y salen por el principio.

El tipo de inserción de pilalos datos se insertan por el final y se sacan por el final. Imagina una pila de platos, que para sacar el primero (el que este más abajo) hay que quitar los demás.

A la hora de programar, solo sería saber usar el método Insertar_Primero() o Insertar_Ultimo()

Vemos un ejemplo de cola:

/**
 * @author DiscoDurodeRoer
 */
public class Ejemplo {

    public static void main(String[] args) {

        //Creamos la lista
        ListaEnlazada lista = new ListaEnlazada();

        //Insercion de datos
        lista.Insertar_Ultimo("Elemento 1");
        lista.Insertar_Ultimo("Elemento 2");
        lista.Insertar_Ultimo("Elemento 3");

        //Creamos una lista enlazada auxiliar
        ListaEnlazada aux = new ListaEnlazada();

        while(!lista.Esta_Vacia()){

            //Mostramos por consola, el primer elemento de la lista
            System.out.println(lista.Primero().toString());

            //Insertamos en la lista auxiliar
            // el primer elemento de la lista original
            // (añadimos por el final, no por el principio)
            aux.Insertar_Ultimo(lista.Primero().toString());

            //Quitamos el primer elemento
            lista.Quitar_Primero();
        }

        //La lista auxiliar se copia a la lista original
        //Haciendo que la lista original vuelva al estado original
        lista = aux;

        //La lista auxiliar se desvincula
        aux = null;

    }

}

Vemos un ejemplo de pila:

/**
 * @author DiscoDurodeRoer
 */
public class Ejemplo {

    public static void main(String[] args) {

        //Creamos la lista
        ListaEnlazada lista = new ListaEnlazada();

        //Insercion de datos
        lista.Insertar_Ultimo("Elemento 1");
        lista.Insertar_Ultimo("Elemento 2");
        lista.Insertar_Ultimo("Elemento 3");

        //Creamos una lista enlazada auxiliar
        ListaEnlazada aux = new ListaEnlazada();

        while(!lista.Esta_Vacia()){

            //Mostramos por consola, el primer elemento de la lista
            System.out.println(lista.Primero().toString());

            //Insertamos en la lista auxiliar
            // el primer elemento de la lista original
            // (añadimos por el final, no por el principio)
            aux.Insertar_Ultimo(lista.Primero().toString());

            //Quitamos el primer elemento
            lista.Quitar_Primero();
        }

        //La lista auxiliar se copia a la lista original
        //Haciendo que la lista original vuelva al estado original
        lista = aux;

        //La lista auxiliar se desvincula
        aux = null;

    }

}

Espero que os sea de ayuda. Si tenéis dudas, preguntad, estamos para ayudarte.

Etiquetas

3 comments

  1. Me da error al tratar de crear un objeto del tipo ListaEnlazada, supongo que estoy haciendo referencia a una clase que no existe. ¿Dónde está el fallo?.

  2. ListaEnlazada es una clase especial, aqui la tienes, copia el código y agregala a tu proyecto.

    http://www.discoduroderoer.es/listas-enlazadas-en-java/

  3. Gracias! :)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *