SoloCodigo
Programación General => Java => Mensaje iniciado por: digichap28 en Sábado 7 de Junio de 2008, 17:33
-
Hola, que tal?
Bueno , tengo un problema con este ejercicio que me pidieron, este codigo corre si quiero eliminar todos los datos en una lista circular simple o sencilla , con excepcion de estos casos:
*Cuando el nodo se encuentra en la primera posicion y se desea eliminar ese, dejando apuntado el siguiente nodo, por ptr.
*Cuando solo existe un nodo y se desea eliminar ese, dejando la lista en null.
Por favor necesito un poco de ayuda con eso, si son tan amables.
Gracias.
public void EliminarNodoConInfoZ(int z){
node p;
node q;
if(ptr==null){
JOptionPane.showMessageDialog(null,"Lista vacia.");
}
else{
p=ptr;
q=p;
while(z!=(p.getInfo())){
q=p;
p=p.getNext();
}
q.setNext(p.getNext());
}
}
-
Amigo ya hace tiempo otro compañero tenia el mismo problema que vos, por eso aca te dejo este tutorial, todas las lineas estan detalladas
saludos
-
Se supone que el codigo o la parte logica esta bien!!
Pero ahora lo que hace es que si intento eliminar el primer nodo , lo pone en la ultima posicion de la lista circular!!
Ayuda!!
public void EliminarNodoConInfoZ(int z){
node p;
node q;
boolean primernodo;
if(ptr==null){
JOptionPane.showMessageDialog(null,"Lista vacia.");
}
else{
p=ptr;
q=p;
primernodo=true;
while(z!=(p.getInfo())){
q=p;
p=p.getNext();
primernodo=false;
}
if(primernodo){
if(p.getNext=ptr){
ptr=null;
}
else{
ptr=p.getNext();
}
}
else{
q.setNext(p.getNext());
}
}
}