Ejercicios de listas enlazadas 2

 


Ejercicio de listas enlazadas..  cont...
Eliminación de nodos



 package listas_enlazadas;


public class Listas_Enlazadas {

private Nodo primero;

private int size;

public Listas_Enlazadas() {

this.primero = null;

this.size = 0;

}

public void ListaVacia() {

if (primero==null) {

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

}else {

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

}

}

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;

}

}

}

}

}

size++;   

}

public void eliminarPrimero() {

primero = primero.siguiente;

}

public void eliminarUltimo() {

Nodo anterior = primero;

Nodo actual = primero;

while(actual.siguiente != null) {

anterior = actual;

actual=actual.siguiente;

}

anterior.siguiente=null;

}

public void eliminarposicionado(int p) {

Nodo anterior = primero;

Nodo actual = primero;

int dato = 0;

  if (p > 0) {

  while(dato!= p && actual.siguiente !=null) {

  anterior = actual;

  actual=actual.siguiente;

  dato++;

  }

  anterior.siguiente =actual.siguiente;

  }

while(actual.siguiente != null) {

anterior = actual;

actual=actual.siguiente;

}

anterior.siguiente=null;

}

public int Size() {

return size;

}

public void Listar() {

Nodo actual = primero;

while( actual!=null) {

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

actual = actual.siguiente;

}

}

public static void main(String[] args) {


     Listas_Enlazadas lista= new Listas_Enlazadas();

     lista.ListaVacia();

     System.out.println("");

     lista.agregarNodo(3);

     lista.agregarNodo(2);

     lista.agregarNodo(5);

     lista.agregarNodo(4);

     lista.agregarNodo(1);

     lista.Listar();

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

     System.out.println("");

     lista.eliminarPrimero();

     lista.Listar();

     lista.eliminarUltimo();

     System.out.println("");

     lista.Listar();

     System.out.println("");

     lista.eliminarposicionado(4);

     System.out.println("");

     lista.Listar();

     lista.ListaVacia();

}


}



                               Resultado


La lista esta vacía

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


[2]->[3]->[4]->[5]->

[2]->[3]->[4]->


[2]->[3]-


Comentarios

Entradas populares de este blog

Proyecto número dos