La ordenaci?n de listas de datos es una necesidad habitual y, por ello, existen algoritmos para completar dicha tarea. La eficiencia de estos algoritmos es muy dispar, as? como el enfoque que cada uno emplea para conseguir el objetivo: obtener la lista ordenada.
Hace unos a?os desarroll? una implementaci?n did?ctica de algunos de los algoritmos de ordenaci?n m?s conocidos, con un mecanismo de visualizaci?n simple pero efectivo, que permite ver el estado inicial de un vector de datos, c?mo se van seleccionando parejas de elementos, comparando e intercambiando cuando es necesario. La aplicaci?n est? escrita en C, sin orientaci?n a objetos, pero fue dise?ada de tal forma que resulta muy simple extenderla, agregando nuevos algortimos de ordenaci?n que se agregar?an autom?ticamente a la interfaz de usuario.
En cuanto a la interfaz de usuario, est? escrita utilizando la biblioteca ncurses
. Esto permite compilar y ejecutar la aplicaci?n en cualquier sistema para el que est? disponible un compilador de C y la mencionada biblioteca, incluyendo GNU/Linux, Windows y OS X, tal y como puede apreciarse en las capturas siguientes.
Tanto el c?digo fuente de la aplicaci?n como las instrucciones para su compilaci?n y uso se encuentran en un repositorio GitHub, desde el que puede descargarse libremente.
Torre de Babel - Francisco Charte Ojeda - Desde 1997 en la Web