Ejercicios de listas enlazadas 2
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
Publicar un comentario