Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2012, 23:38
jordy48
 
Fecha de Ingreso: febrero-2012
Mensajes: 56
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Duda con recursividad y listas ligadas

Hola buen dia

bueno verán, mi pregunta es simple. Pasa que tengo el siguiente método que imprime una cola dinámica mediante la recursión y estuve checando y cuando mando a mostrar los elementos de la lista todo bien, pero me puse a inspeccionar el caso en que la lista esta vacia, y al principio no arroja nada si es que esta vacia, pero si introdusco valores y luego los quito todos (quedando la cola vacia) este metodo que muestra la lista deberá imprimir algo como esta vacia o no hacer nada (como mínimo) PERO MAS BIEN me imprime el ultimo valor que introduje

¿QUE PUEDO HACER? ¿Devo usar recursión o ciclos?


Código Javascript:
Ver original
  1. public void mostrarElementosCola (NuevoNodoListaEntero nodo) {
  2.         if (nodo != null){
  3.             mostrarElementosCola(nodo.siguiente);
  4.             System.out.println(nodo.dato);
  5.         }
  6.     }



Tambien adjunto mi método con el que elimino elementos de la cola dinámica, pues si el error no esta en el método mostrar, esta en este... ustedes que dicen?

Código Javascript:
Ver original
  1. public void popCola() {
  2.         NuevoNodoListaEntero inicioAux = inicioCola;
  3.         NuevoNodoListaEntero finAux = finCola;
  4.        
  5.         if (!estaVacia()) {
  6.             if(inicioAux.siguiente == null){
  7.                 System.out.printf("El elemento extraido de la cola es: %d\n\n", finAux.dato);
  8.                 inicioAux = finAux = null;
  9.                 System.out.println("La cola esta vacia");
  10.             }
  11.             else {
  12.                 System.out.printf("El elemento extraido de la cola es: %d\n\n", finAux.dato);
  13.                 while(inicioAux.siguiente.siguiente != null)
  14.                     inicioAux = inicioAux.siguiente;
  15.                 finAux = null; 
  16.                 inicioAux.siguiente = null;
  17.                 finCola = inicioAux;
  18.             }
  19.         }
  20.         else
  21.             System.out.println("La cola esta vacia");
  22.            
  23.     }

AYUDA POR FAVOR!!! estoy muy desesperado!!!

Gracias por sus comentarios