Hola! nose si el ordenamiento q estas haciendo esta bien(no lo analice detenidamente), pero te marco el error q veo:
Código C:
Ver originalwhile (aux2 != NULL)
{
if (aux2->edad >= mayor)
mayor = aux2->edad;
}
aca estas generando un bucle infinito, la condicion del while siempre va a ser verdadera
Saludos