estos son los ejercicios que necesito hacer y la verdad estoy perdido y no se como hacerlos si me pueden ayudar se los agradeceria, si pueden me ayudan con el que sepan la verdad es de un taller que equivale a un 25% de la nota de semestre y no quisiera perderla ( gracias )
Eliminar el nodo que tiene el menor valor.
Insertar un dato antes del mayor valor de la lista.
Eliminar todos los nodos de una lista
Insertar un dato después del penúltimo nodo de la lista
Eliminar el penúltimo nodo de la lista
Insertar un dato después del primer nodo de la lista
Eliminar el mayor todas las veces que aparezca en la lista
Cita de: edwin ramos en 29 Septiembre 2020, 19:07 PM
estos son los ejercicios que necesito hacer y la verdad estoy perdido y no se como hacerlos si me pueden ayudar se los agradeceria, si pueden me ayudan con el que sepan la verdad es de un taller que equivale a un 25% de la nota de semestre y no quisiera perderla ( gracias )
Eliminar el nodo que tiene el menor valor.
Insertar un dato antes del mayor valor de la lista.
Eliminar todos los nodos de una lista
Insertar un dato después del penúltimo nodo de la lista
Eliminar el penúltimo nodo de la lista
Insertar un dato después del primer nodo de la lista
Eliminar el mayor todas las veces que aparezca en la lista
Hola, edwin ramos.
Antes que nada, ¿podrías compartir el trabajo que tienes hecho para poder ayudarte?..
Y, bueno, te lo comento porque no esta permitido en las reglas del foro hacer todo el trabajo de otro usuario (o, en tu caso, tareas relacionadas con códigos), ya que el objetivo del foro es ayudar a encontrar posibles problemas y solucionarlos.
Muchas gracias por vuestra atención, y, bueno, saludos.
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
//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);
}
}
}
}
Sería más lógico ponerlos en el foro de Java, además no se hacen tareas "escolares" en el foro, porque son para evaluar lo que tú puedes hacer solo. ¿Por qué tienes tantas dudas si se supone que te enseñaron? Demanda o renuncia a quienes te enseñaron mal. Si la cosa es que no estudiaste, jodete, hazlo ahora si te da el tiempo.