zsh: Sattolo's Random Cyclic Permutation
Publicado por Sandro Marcell (última atualização em 14/04/2010)
[ Hits: 5.172 ]
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
}
O que fazer após instalar o Debian 8 - versão em Shell Script
Script para gravar DVD, gera imagem e grava na mídia
Veja os 10 últimos tópicos das comunidades
Script para fazer download de vídeos do YouTube
Player de música em Shell com Yad
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Desenvolvi um programa de hot corner (você colocar o mouse nos cantos)... (3)
Pendrive Bootable [RESOLVIDO] (4)









