zsh: Sattolo's Random Cyclic Permutation
Publicado por Sandro Marcell (última atualização em 14/04/2010)
[ Hits: 4.916 ]
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 }
Organize seu /var/log/messages
Script para fazer levantamento de hardware e software no Gentoo
Script para gravar 2 (ou 4) CDs simultaneamente
Instalando e configurando o AIDE em 15 minutos
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Como testar Standard Hotplug Controller (1)
Trocando modo IDE por AHCI (1)
Desempenho abaixo do esperado - travadas e congelamento do sistema ope... (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta