Código Bash – Ordenamiento por Inserción Directa

El siguiente código trata del método de ordenamiento por inserción directa en bash:

#!/bin/bash
function inserciondirecta {
	lista=$1
	tam=${#lista[@]}

        for i in $(seq 1 $[$tam-1]) ; do
                 v=${lista[$i]}
                 j=$[$i-1]
                 while [[ $j -ge 0 && ${lista[$j]} -gt $v ]] ; do
                          lista[$[$j+1]]=${lista[$j]}
                          j=$[$j-1]
                 done

                 lista[$[$j+1]]=$v
        done
}

lista=(5 4 3 2 1)

inserciondirecta $lista

for i in ${lista[@]};do	echo $i; done

Deja un comentario