Lista Ligada
public class Nodo {
Nodo siguiente;
int dato;
public Nodo (int dato){
this.dato = dato;
this.siguiente = null;
}
}// finclase nodo
se crean los metodos.....
import javax.swing.*;
public class ListaA {
Nodo nuevoNodo;
Nodo primero;
Nodo ultimo;
Nodo aux;
int tam;
public void insertarEntre(intdats, int pos){
Nodo aux=null;
Nodo actual=primero;
int i=0;
while(i!=pos){
aux=actual;
actual=actual.siguiente;
i++;
}
Nodo nuevoNodo=new Nodo(dats);aux.siguiente=nuevoNodo;
nuevoNodo.siguiente=actual;
}
public Nodo borraPrimero(){
Nodo temp = primero;
primero = primero.siguiente;
return temp;
}//fin metodo borraPrimeropublic Nodo borraUltimo(){
Nodo temp =null ;
if(listaVacia()){
System.out.println("\nLa lista no tiene elementos ");
}
else{
if(primero==ultimo){
primero = null;
ultimo =null;
}
else{
Nodo actual = primero;
while(actual.siguiente!= ultimo){
actual = actual.siguiente;
}
temp = actual.siguiente;
actual.siguiente = null;
ultimo =actual;
}
}
return temp;
}//fin metodo borraUltimo
public void borraEnmedio(int N){
Nodo aux = primero;
//Se comprueba si es el primer nodo
if(aux.dato == N){//Si lo es, el primer nodo se convierte en segundo
primero = aux.siguiente;
}
else{
//Se van saltando los nodos que no coincidan hasta que se encuentre uno que si o se termine la listawhile((aux.siguiente!= null) && (aux.siguiente.dato!= N)){
aux = aux.siguiente;
} // se cambio de posicion
// Si la lista no ha terminado
if(aux.siguiente!= null){
//Sesalta al siguiente
aux.siguiente= aux.siguiente.siguiente;
}
}
}//fin metodo borraEnmedio
public boolean listaVacia(){
return (primero == null);...
Regístrate para leer el documento completo.