Foros del Web » Programación para mayores de 30 ;) » Programación General »

como desorganizar un arreglo ?

Estas en el tema de como desorganizar un arreglo ? en el foro de Programación General en Foros del Web. Hola tengo un arrego en la variable @arreglo existe una funcion que me desordene los elementos de ese arreglo ? alguno de ustedes me podria ...
  #1 (permalink)  
Antiguo 15/03/2006, 16:44
 
Fecha de Ingreso: septiembre-2001
Mensajes: 186
Antigüedad: 23 años, 2 meses
Puntos: 0
como desorganizar un arreglo ?

Hola tengo un arrego en la variable

@arreglo

existe una funcion que me desordene los elementos de ese arreglo ?

alguno de ustedes me podria colaborar con algun codigo ?

Un codigo que coja un arreglo dado y lo entrege en

@arreglo2

con los mismos elementos pero en un orden totalmente aleatorio..

Gracias por su ayuda
__________________
Los mejores programadores de colombia estan aqui!!!!!
http://progcol.tripod.com
  #2 (permalink)  
Antiguo 15/03/2006, 23:17
 
Fecha de Ingreso: mayo-2003
Mensajes: 328
Antigüedad: 21 años, 6 meses
Puntos: 0
Tienes algunas opciones, selecciona la que más te guste:

Shuffle de Fisher Yates
Código:
mezclar_array(\@arreglo);


sub mezclar_array {

my $array = shift;
my $i;

    for ($i = @$array; --$i; ) {
        my $j = int rand ($i+1);
        next if $i == $j;
        @$array[$i,$j] = @$array[$j,$i];
    }
}

Con el módulo List::Util
Código:
use List::Util shuffle;

@arreglo2 = shuffle @arreglo;

SALUDOS
__________________
Uriel Lizama, Perl Developer

Aprende Perl en Perl en Español.
  #3 (permalink)  
Antiguo 27/03/2006, 15:22
 
Fecha de Ingreso: septiembre-2001
Mensajes: 186
Antigüedad: 23 años, 2 meses
Puntos: 0
Muchas gracias

El metodo Shuffle de Fisher Yates es muy sencillo y a pesar de esto me tire mucho tiempo trantando de imaginarme un metodo y no pude,

muchas gracias kidd eres un duro y el metodo que hicieron fisher y yates es muy bueno y optimo

nuevamente gracias
__________________
Los mejores programadores de colombia estan aqui!!!!!
http://progcol.tripod.com
  #4 (permalink)  
Antiguo 27/03/2006, 15:53
 
Fecha de Ingreso: mayo-2003
Mensajes: 328
Antigüedad: 21 años, 6 meses
Puntos: 0
Que bueno que te solucionó el problema, y no olvides en visitar el foro de Perl en Español ;)

http://perlenespanol.baboonsoftware.com/foro/

Saludos
__________________
Uriel Lizama, Perl Developer

Aprende Perl en Perl en Español.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:22.