Pasos para abordar los algoritmos de listas enlazadas

 

Pasos para abordar los algoritmos de listas enlazadas


1.- Creamos un paquete (package) Listas_Enlazadas.


2.- Creamos la clase Listas_Enlazadas











3.- Dentro del mismo paquete , creamos la clase Nodo.


4.- Creamos los siguientes atributos para la clase


package listas_enlazadas;


public class Nodo {

int dato;

Nodo siguiente;


public Nodo (int dato) {

this.dato = dato;

this.siguiente = null;

}


}



5.- El constructor va a ser:


package listas_enlazadas;


public class Listas_Enlazadas {

private Nodo primero;

private int size;

public Listas_Enlazadas() {

this.primero = null;

this.size = 0;

}



6.- Verificamos si la lista esta vacia con el método listaVacia.


public void ListaVacia() {

if (primero==null) {

System.out.print("La lista esta vacia");

}else {

System.out.print("La lista tiene informacion");

}

}


7.- Verificamos usando el main acción _try_


8.- Agregamos un nodo a la lista


public void agregarNodo(int dato) {

Nodo nuevo = new Nodo(dato);

nuevo.siguiente = primero; Se ubica en el primer nodo

primero = nuevo; //el nodo nuevo lo coloca de primero

size++;

}

9.- El método nos indica el tamaño de la lista


public int Size() {

return size;

}


10.- Este método nos muestra la información que mandamos imprimir


public void Listar() {

Nodo actual = primero;

while( actual!=null) {

System.out.print("["+actual.dato+"]->");

actual = actual.siguiente;

}

}


Resultado


La lista esta vacía

[5]->[4]->[3]->[2]->[1]->Tamaño 5


La lista tiene información





10.- El main para realizar las pruebas….


public static void main(String[] args) {


Listas_Enlazadas lista= new Listas_Enlazadas();

lista.ListaVacia();

System.out.println("");


lista.agregarNodo(1);

lista.agregarNodo(2);

lista.agregarNodo(3);

lista.agregarNodo(4);

lista.agregarNodo(5);

lista.Listar();

System.out.println("Tama;o " + lista.Size());

System.out.println("");

lista.ListaVacia();

}












11.- agregamos nodos y lo vamos acomodando de menor a mayor


Se toma el método de agregar Nodo y se hacen las modificaciones


public void agregarNodo(int dato) {

Nodo nuevo = new Nodo(dato);

Nodo valor1, valor2;


if (primero == null) {

primero = nuevo;

nuevo.siguiente = null;

}else {

valor1 = primero;

while(valor1 != null) {

valor2 = valor1.siguiente;

if (nuevo.dato <= valor1.dato){

nuevo.siguiente = primero;

primero = nuevo;

break;

}else {

if (nuevo.dato > valor1.dato && valor2 == null) {

valor1.siguiente = nuevo;

nuevo.siguiente = null;

break;

}else {

if (valor1.dato < nuevo.dato && valor2.dato >= nuevo.dato)

{ valor1.siguiente = nuevo;

nuevo.siguiente = valor2;

break;

}else {

valor1=valor1.siguiente;

}

}

} }






Resultado


La lista esta vacia


[1]->[2]->[3]->[4]->[5]->Tama�o 0


La lista tiene informacion



12.- despues del metodo de la acción 9


public int Size() {

return size;}


Agregamos la eliminacion del primer nodo.

}


public void eliminaPrimero() {


primero = primero.siguiente;


}

public void eliminaUltimo() {


Nodo anterior = primero;

Nodo actual = primero;

while(actual.siguiente!= null) {

anterior = actual;

actual = actual.siguiente;}

anterior.siguiente = null;

}


Probamos con el main


10.- El main para realizar las pruebas….


public static void main(String[] args) {


Listas_Enlazadas lista= new Listas_Enlazadas();

lista.ListaVacia();

System.out.println("");


lista.agregarNodo(1);

lista.agregarNodo(2);

lista.agregarNodo(3);

lista.agregarNodo(4);

lista.agregarNodo(5);

lista.Listar();

System.out.println("Tama;o " + lista.Size());

System.out.println("");

Lista.eliminaUltimo();

lista.ListaR();

}


Comentarios

Entradas populares de este blog

Proyecto número dos