Clase principal:
public class Main {
public static void main(String[] args)
{
ListaEnlazada miLista = new ListaEnlazada();
miLista.InsertarEnPrimero (10);
miLista.InsertarEnPrimero (15);
miLista.InsertarEnPrimero (30);
miLista.InsertarEnPrimero (50);
miLista.InsertarEnPrimero (40);
miLista.InsertarEnPrimero (60);
System.out.println(miLista.Listar());
System.out.println("borrar");
miLista.BorrarUltimo();
miLista.BorrarPrimero();
//miLista.BorrarPosicion(2);
System.out.println(miLista.Listar());
}
}
Clase Nodo:
public class Nodo {
int info;
public Nodo siguiente;
public Nodo anterior;
public Nodo (int dato){
info = dato;
anterior = null;
siguiente = null;
}
public void VerNodo() {
System.out.println ("{ "+info+"}");
}
}
Clase Lista Enlazada:
public class ListaEnlazada {
Nodo cabeza;
Nodo cola;
public ListaEnlazada() {
cabeza = null;
cola = null;
}
public boolean vacia() {
if (cabeza == null) {
return(true);
}
else {
return (false);
}
}
//Insertar en cabeza
public void InsertarEnPrimero (int Dato) {
Nodo Temporal = new Nodo (Dato); //Crea el nodo temporal
if (vacia()){
cabeza = Temporal;
cola = Temporal;
}
else {
Temporal.siguiente = cabeza;
cabeza.anterior = Temporal;
cabeza = Temporal;
}
}
public void InsertarAlFinal (int Dato){
Nodo Temporal = new Nodo(Dato);
if (vacia()){
cabeza = Temporal;
cola = Temporal;
}
else {
cola.siguiente = Temporal;
Temporal.anterior = cola;
cola = Temporal;
}
}
public void BorrarPrimero(){
cabeza = cabeza.siguiente;
cabeza.anterior = null;
}
public void BorrarUltimo(){
if (cola.anterior == null){
cabeza = null;
cola = null;
}
else {
cola = cola.anterior;
cola.siguiente = null;
}
}
public String Listar(){
String Dato = "";
Nodo axu = cabeza ;
while (axu!= null){
Dato+="{" +axu.info+ "}";
axu = axu.siguiente;
}
return (Dato);
}
public void BorrarPosicion (int pos) {
Nodo anterior = cabeza;
Nodo actual = cabeza;
int k=0;
if (pos>0){
while (k!=pos && actual.siguiente != null){
anterior = actual;
actual= actual.siguiente;
k++;
System.out.println(" k " + k);
}
anterior.siguiente = actual.siguiente;
}
}
}
Imágenes.
Ejecutando:
Borrando el primer dato:
Borrando la Posición 2:
No hay comentarios:
Publicar un comentario