Ordenação de Listas

Publicado por Marcio Cardoso (última atualização em 10/03/2012)

[ Hits: 6.013 ]

Download ordenação.txt




Segue shell que ordena a lista em ordem crescente.

  



Esconder código-fonte

#!/bin/ksh
clear
typeset -i i=0
echo "Digite 5 numeros inteiros fora da sequencia!"
while (( $i == 0 )); do
        echo "Digite primeiro numero"
        read valor[0]
        echo "Digite segundo numero"
        read valor[1]
        echo "Digite terceiro numero"
        read valor[2]
        echo "Digite quarto numero"
        read valor[3]
        echo "Digite quinto numero"
        read valor[4]
        if((${valor[0]} < ${valor[1]} && ${valor[1]} < ${valor[2]} && ${valor[2]} < ${valor[3]} && ${valor[3]} < ${valor[4]})); then
                echo "Sequencia ordenada digite novamente os valores"
        else
                i=$i+1
        fi
done
typeset -i i=0
typeset -i j=0
typeset -i temp=0
while (( $i < 4 )); do
        while (( $j < 4 )); do
                if ((${valor[$j+1]} < ${valor[$j]} )); then
                        temp=${valor[$j]}
                        valor[$j]=${valor[$j+1]}
                        valor[$j+1]=$temp
                fi
        j=$j+1
        done
i=$i+1
j=0
done
x=0;
while [ $x != ${#valor[@]} ]; do
        echo "* "${valor[$x]}" sequencia ordenada "
        let "x = x +1"
done

Scripts recomendados

Srt2vtt in Shell Script (Beta)

media de alunos

Exportar ip para variável

Usando variáveis em shell script

Monitoramento da bateria


  

Comentários
[1] Comentário enviado por julio_hoffimann em 10/03/2012 - 19:27h

Marcio,

Lembre-se que o poder do Bash está no fácil acesso aos programas externos:

echo 'Digite numeros separados por espaço:'
read -a array
ordered=`echo ${array[@]} | tr ' ' '\n' | sort -n | tr '\n' ' '`
echo ${ordered}

As duas linhas acima fazem o mesmo trabalho e funcionam para listas de tamanho arbitrário.

Abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts