The::Beastieux

Sangre de Bestia + Corazón de Pingüino | Un blog acerca de Linux, *BSD, Open Source, Software Libre, Programación …

Código Bash – Ordenamiento Quicksort


El siguiente código trata del método de ordenamiento quicksort en bash:

#!/bin/bash
function quicksort {
	lista=$1
        izq=$2
        der=$3

        i=$izq;
        j=$der;
        x=${lista[$[$[$izq + $der]/2]]}

        while [ $i -le $j ] ; do
		while [[ ${lista[$i]} -lt $x && $j -le $der ]] ; do
			i=$[$i+1]
		done

		while [[ $x -lt ${lista[$j]} && $j -gt $izq ]] ; do
			j=$[$j-1]
		done

		if [ $i -le $j ] ; then
			aus=${lista[$i]}; lista[$i]=${lista[$j]}; lista[$j]=$aus;
			i=$[$i+1];  j=$[$j-1]
		fi
	done

	if [ $izq -lt $j ] ; then
		quicksort $lista $izq $j
        fi
	if [ $i -lt $der ] ; then
		quicksort $lista $i $der
        fi
}

lista=(5 4 3 2 1)

quicksort $lista 0 $[${#lista[@]}-1]

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

No te quedes callado. Pregunta, Comenta, Comparte, Sígueme, Suscríbete, Déjame tu opinión... Soy Beastieux Zeroo...

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: