me referia a ver si me ayudaban con alguno de esos no con todos y gracias por el consejo ya escribo lo que tengo hecho
Código (java) [Seleccionar]
//Método para insertar un dato al inicio de una lista
public void insertarInicio(int dato)
{
Nodo x=new Nodo(dato);
x.setLiga(cab);
cab=x;
}
//Método para insertar un nodo al final de una lista
public void insertarFinal(int dato)
{
Nodo q=cab,x=new Nodo(dato);
if(cab==null)
{
cab=x;
}
else
{
while(q.getLiga()!=null)
{
q=q.getLiga();
}
q.setLiga(x);
}
}
//Método para eliminar el primer nodo de una lista
public void eliminarPrimero()
{
Nodo x=cab;
if(cab==null)
{
JOptionPane.showMessageDialog(null,"Lista vacia");
}
else
{
cab=cab.getLiga();
//delete(x) aqui se libera el nodo
}
}
//Método para eliminar el ultimo nodo de una lista
public void eliminarUltimo()
{
Nodo q=cab,ant=null;
if(cab==null)
{
JOptionPane.showMessageDialog(null,"Lista vacia");
}
else
{
while(q.getLiga()!=null)
{
ant=q;
q=q.getLiga();
}
if(q==cab)
{
cab=null;
}
else
{
ant.setLiga(null);
}
//delete(q)
}
}
//Método para eliminar de la lista un dato dado
public void eliminarDato(int dato)
{
Nodo q=cab,ant=null;
boolean sw=false;
if(cab==null)
{
JOptionPane.showMessageDialog(null,"Lista vacia");
}
else
{
while(q!=null &&sw==false)
{
if(q.getDato()==dato)
{
sw=true;
}
else
{
ant=q;
q= q.getLiga();
}
}
if(sw==false)
{
JOptionPane.showMessageDialog(null,"El dato no se encontró en la lista");
}
else
{
if(q==cab)
{
cab=cab.getLiga();
}
else
{
ant.setLiga(q.getLiga());
}
//delete(q) aqui se libera el nodo
}
}
}
//Método para eliminar de la lista todos los datos impares
public void eliminarImpares()
{
Nodo q=cab,ant=null,x;
boolean sw=false;
if(cab==null)
{
JOptionPane.showMessageDialog(null,"Lista vacia");
}
else
{
while(q!=null)
{
if(q.getDato()%2!=0)
{
sw=true;
x=q;
if(q==cab)
{
cab=cab.getLiga();
}
else
{
ant.setLiga(q.getLiga());
}
q= q.getLiga();
//delete(x) aqui se libera el nodo
}
else
{
ant=q;
q= q.getLiga();
}
}
if(sw==false)
{
JOptionPane.showMessageDialog(null,"No hay datos impares en la lista");
}
}
}
//Método para insertar un dato en una lista ordenada y que permanezca ordenada y sin datos repetidos
//Ejercicio 6
public void insertarDatoenListaOrdenadaSinRepetir(int dato)
{
Nodo q=cab, ant=null,x;
if(cab==null)
{
x=new Nodo(dato);
cab=x;
}
else
{
while(q!=null && q.getDato()<dato)
{
ant=q;
q=q.getLiga();
}
if(q!=null && q.getDato()==dato)
{
JOptionPane.showMessageDialog(null,"El dato ya existe en la lista");
}
else
{
x=new Nodo(dato);
x.setLiga(q);
if(q==cab)
{
cab=x;
}
else
{
ant.setLiga(x);
}
}
}
}
//Método para insertar un dato en una lista ordenada y que permanezca ordenada permite datos repetidos
//Ejercicio
public void insertarDatoenListaOrdenadaPermiteRepetidos(int dato)
{
Nodo q=cab, ant=null,x;
if(cab==null)
{
x=new Nodo(dato);
cab=x;
}
else
{
while(q!=null && q.getDato()<dato)
{
ant=q;
q=q.getLiga();
}
x=new Nodo(dato);
x.setLiga(q);
if(q==cab)
{
cab=x;
}
else
{
ant.setLiga(x);
}
}
}
}