zsh: Sattolo's Random Cyclic Permutation
Publicado por Sandro Marcell (última atualização em 14/04/2010)
[ Hits: 5.260 ]
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
}
Algoritmo para calcular notas com array
Script para criar certificados de forma automatizada no OpenVpn
mPlayRecTv - assista e grave a programação da TV com MPlayer
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Ativando o modo Quake no XFCE4-Terminal
[Tutorial] Configurando Multimaster no Samba 4 AD (DC02) + Explicação de FSMO Roles
[Resolvido] Google Chrome reclamando de perfil em uso após mudar hostname
Instalando o Tema de Ícones Tela Circle
Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
Senhor Einstein tinha razão mesmo! (7)
Como instalar Warsaw no Gentoo? (1)
Da pra formatar um netbook MGB e usar algum linux nele? É possível usa... (4)









