Buenas tengo unos inconvenientes a la hora de realizar este ejercicio
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 originalint descendente(NODO *frente)
{
printf("\nELEM [%d] - -ELEM SIG [%d]",frente
->elem
,frente
->sig
->elem
);
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.