zsh: Sattolo's Random Cyclic Permutation
Publicado por Sandro Marcell (última atualização em 14/04/2010)
[ Hits: 5.258 ]
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
}
Sincronizar arquivos com rsync
Teste de atividade e funcionamento de portas através do Nmap
Estrutura e Funcionamento de um Ebuild no Gentoo Linux
Instalação e Configuração do Void com Cinnamon
Porque Gentoo semi-binário atualmente (desabafo)
Montagem pré automática de HD externo usb em NTFS não funciona no Debian Trixie - Solução
Guia de instalação do Gentoo Linux com Cinnamon (UEFI, LUKS2, Btrfs)
Thinkpads são bons mesmo ?! (6)
Como você configura seu GNOME? Eu faço assim... (6)









