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 pila, los 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.
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?.
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/
Gracias! :)