Algoritmo Fisher-Yates shuffle
Publicado por Osama Jr. (última atualização em 31/08/2009)
[ Hits: 7.313 ]
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 $@
MocPList - Enfileirador de áudio e locutor em voz sintetizada
soma e multiplicação de parametros
Bloqueando ataque de força bruta em ssh através de script bash
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Ajuda Pra Melhoria do NFTABLES. (7)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (4)