Embaralhando aleatoriamente vetores - array shuffle

Publicado por Osama Jr. 17/05/2009

[ Hits: 6.690 ]

Homepage: Não tenho

Download awk_shuffle




Na verdade este não é um shell script, e sim um "Gawk script" para o GNU Awk. Fiz ele baseado nas idéias deste script:

http://www.slackbr.org/forum/viewtopic.php?f=45&t=17737

Ele embaralha aleatoriamente todos os elementos dum dado vetor. É bem simples...

Valeu!!!

  



Esconder código-fonte

#!/usr/bin/gawk -f
#
# Embaralhando aleatoriamente elementos de um vetor.
#
# Versão GNU Awk baseada neste script:
# http://www.slackbr.org/forum/viewtopic.php?f=45&t=17737
#
# Autor: /bin/laden - 05/05/2009.
#
# Mais detalhes: <man gawk> ou <www.google.com> =P
BEGIN {
   srand()
   # A função é executada passando-se como argumento os valores
   # que serão embaralhados.
   embaralhar("zero um dois três quatro cinco seis sete oito nove")
}

function embaralhar(valores) {
   split(valores, vetor)
   tamanho_vetor = length(vetor)

   do { 
      indice = 1 + int(rand() * tamanho_vetor)
      
      if (indice in vetor) {
         print(vetor[indice])
         delete vetor[indice]
         contador++
      }

   } while (contador < tamanho_vetor)

   return(0)
}

Scripts recomendados

Exemplo de Shell-Script

Um Gerenciador de dispositivos que fiz

Script de backup

Calcular média escolar no shell

Sem APTONCD


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts