Embaralhando aleatoriamente vetores - array shuffle

Publicado por Osama Jr. 17/05/2009

[ Hits: 6.817 ]

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

Enviar SMS usando um telefone (Nokia)

Script que simula uma locadora de DVD

Cálculo de Índice de Massa Corporal

Instalador de programas essenciais para seu desktop Ubuntu 12.04

Copiando o conteudo de um CDROM ou DVDROM.


  

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