Algoritmo Fisher-Yates shuffle
Publicado por Osama Jr. (última atualização em 31/08/2009)
[ Hits: 6.987 ]
Homepage: Não tenho
Uma versão em shell script do algoritmo Fisher-Yates shuffle (também conhecido como Knuth-Shuffle). Essa versão não é lá muito eficiente devido às limitações da variável $RANDOM.
Mais detalhes: http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
P.S.: Obrigado SMarcell pelas dicas! ;)
#!/bin/bash # # "Implementação" em Shell Script do algoritmo Fisher-Yates shuffle. # Autor: /bin/laden - 24/08/2009. # # Uso: fisher-yates-shuffle <valores> # Ex.: ./fisher-yates-shuffle 0 1 2 3 4 5 6 7 8 9 # # Mais detalhes: <man bash> ou <www.google.com> =P # # Obs.: Implementação pouco eficiente devido a limitação # da variável RANDOM. function fisher-yates-shuffle { RANDOM=$$ declare -a array=($@) declare -i k n=${#array[@]} while [ $n -ge 0 ] do let "k = RANDOM % (n + 1)" swap+=(${array[$k]}) array[k]=${array[$n]} array[n]=$swap let "n--" done echo "${swap[@]}" && return 0 } fisher-yates-shuffle $@
cpb - Copia arquivos executáveis...
Script de data e hora do sistema
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
Remover por completo uma DE (5)
Encriptografa... as particoes com LUKS, o que poderia dar errado? (0)
Qual a relevancia dos valores de bogomips com os Mhz e Ghz[DUVIDA] (2)