Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/04/2007, 10:46
DarioDario
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 11 meses
Puntos: 2
Re: problema recursividad

No sé si te servirá de algo ahora... pero hice lo que querías de dos formas distintas (solo por aburrimiento ). Acá te las paso por si lo quieres ver:

Esta es sin recursividad:
Código PHP:
$ciudades = array(=> 'Crespo'=> 'Diamante'=> 'Parana'=> 'Valle Maria');

foreach(
$ciudades as $num1 => $algo)
{
        foreach(
$ciudades as $num2 => $algo)
        {
                if(
$num2 == $num1)
                   continue;

                foreach(
$ciudades as $num3 => $algo)
                {
                        if(
$num3 == $num2 or $num3 == $num1)
                           continue;

                        foreach(
$ciudades as $num4 => $algo)
                        {
                                if(
$num4 == $num3 or $num4 == $num2 or $num4 == $num1)
                                   continue;

                                echo 
$num1.' '.$num2.' '.$num3.' '.$num4.'<br>';
                        }
                }
        }

Y esta es con una función recursiva:
Código PHP:
$ciudades = array(=> 'Crespo'=> 'Diamante'=> 'Parana'=> 'Valle Maria');

function 
recorrido($ciudades$recorrido)
{
        if(
count($ciudades) == 0)
        {
                foreach(
$recorrido as $c1 => $n1)
                        echo 
$c1.' ';
                echo 
'<br>';
                return 
TRUE;
        }

        foreach(
$ciudades as $c => $n)
        {
                
$ciudades2 $ciudades;
                
$recorrido2 $recorrido;
                
$recorrido2[$c] = $n;
                unset(
$ciudades2[$c]);
                
recorrido($ciudades2,$recorrido2);
        }
}

recorrido($ciudades,array()); 
Saludos y cualquier cosa si no entendes pregunta y te explico.