zsh: Sattolo's Random Cyclic Permutation
Publicado por Sandro Marcell (última atualização em 14/04/2010)
[ Hits: 5.058 ]
Homepage: http://sanmarcell.wordpress.com
Simples função que implementa uma variante do algoritmo Fisher-Yates shuffle. Esta implementação foi descrita pela pesquisadora italiana Sandra Sattolo.
# # Sattolo's Random Cyclic Permutation # -- Variante do algoritmo Fisher-Yates shuffle # Sandro Marcell <sandro_marcell@yahoo.com.br> # Boa Vista, Roraima - 21/03/2010 # function sattoloCycle { zmodload zsh/mathfunc (( rand48(seed) )) typeset -a array swap integer n k array=(${*=}) (( n = ${(w)#array} + 1 )) while ((n > 1)) do ((--n)) (( k = int((n - 1) * rand48()) + 1 )) swap+=$array[k] array[k]=$array[n] array[n]=$swap done return 0 }
Veja os 10 últimos tópicos das comunidades
Pós-instalação do Ubuntu 18.04 LTS (codecs, ferramentas do sistema e dev.)
Firewall para Compartilhamento de Conexão 3G
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)
warsaw parou de funcionar após atualização do sistema (solução) (10)