Escriba una función recursiva que reciba un apuntador al primer nodo de una lista simple de números enteros y verifique si esta se encuentra ordenada en forma descendente.
lo que tengo hecho es lo siguiente...
Código C:
Ver original
int descendente(NODO *frente) { if(frente==NULL) { return 0; } else { if(frente->elem >= frente->sig->elem) { frente=frente->sig; return 1; } else { frente=frente->sig; return 0; } } descendente(frente); }
retorno 1 para decir que esta ordenado descendentemente y 0 para lo contrario
El problema que veo es que solo me compara los 2 primeros elementos, por ejemplo si coloco 10 - 6 los compara y retorna 1 como debe ser, ahora si coloco 10 - 6 - 8 me retorna 1 y debería retornar 0;
creo que el problema esta en los retornos? ya que si se los quito me recorre la lista sin problemas...
gracias, saludos.