zsh: Sattolo's Random Cyclic Permutation
Publicado por Sandro Marcell (última atualização em 14/04/2010)
[ Hits: 5.099 ]
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 }
Recriando /dev/null facilmente
Debian - inicializando VMs (VirtualBox) no boot
Instalação do Cisco Packettracer 7.2 no Debian 10
Remover kernels antigos com zenity
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
Problema com audio apos upgrade (9)
Instalação automatizada do Debian 12 em UEFI (2)
Programa simples pra cortar vídeos [RESOLVIDO] (7)