zsh: Sattolo's Random Cyclic Permutation
Publicado por Sandro Marcell (última atualização em 14/04/2010)
[ Hits: 5.030 ]
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 }
Kit de Scripts para Backup (Full + Diferencial + SMBmount + Rede) - Atualizado
script para travar usuario discado
Instalar última versão do Java automaticamente em "todas as plataformas"
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Erro na atualização dos pacotes (8)
Ubuntu 25.04 não instala. (15)
[AJUDA] Problemas ao atualizar BIOS da Gigabyte B550M K rev. 1.1 — “RO... (5)