Embaralhando aleatoriamente vetores - array shuffle

Publicado por Osama Jr. 17/05/2009

[ Hits: 6.716 ]

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

Script que calcula média entre duas provas

Backup de Diretórios

Base64 encode e decode

Script que exibi informações do sistema

Excluir Arq. Velhos de um Diretório ATUALIZADO!


  

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