Ordenar por selección

by aprudencio

HTML

<div id="contenedor"><div>Ingrese una lista de numeros separados por coma</div>
<input value="-3,9,-5,7,8,8,3.2,3.1,-2,-8,8,8,8,22,87,5" type="text" placeholder="ingrese los elementos aqui" id="elementos" />
<input type="button" value="Ordenar" id="ordenarbtn" />
<div id="resultado"></div>
<br />
<div>Más información <a target="_blank"  href="http://www.youtube.com/watch?v=6nDMgr0-Yyo">aqui</a></div>
</div>

CSS

*{
font-family: arial;
   
}
input{
 padding: 5px;
}
#elementos{
width: 300px;

}

#contenedor{
   padding: 20px;
}

JavaScript

var pagina = {

    ordenar: function() {
        pagina.borrar();

        var str = $("#elementos").val();

        var lista = str.split(",");
        var inputList = new Array();

        //convertir los elementos a numero
        for (var i = 0; lista.length > i; i++) {


            lista[i] = parseFloat(lista[i]);
        }

        var n = lista.length

        //pagina.mostrar(lista.toString());
        var minimo, aux;
        for (var i = 0; n > i; i++) {

            minimo = i;

            for (var j = (i + 1); n > j; j++) {

                if (lista[minimo] > lista[j]) {
                    minimo = j;
                }
            }

            // if (minimo != i) {
            aux = lista[i];
            lista[i] = lista[minimo];
            lista[minimo] = aux;
            // }
            //pagina.mostrar(lista.toString());
        }


        pagina.mostrar("<b>EN ORDEN:</b> " + lista.toString());


    },
    intercambiar: function(lista, a, b) {

        var aux = lista[a];
        lista[a] = lista[b];
        lista[b] = aux;
        return lista;

    },
    borrar: function() {
        $("#resultado").html("")
    },
    mostrar: function(msg) {




        msg = $("#resultado").html() + "<br />" + msg;
        $("#resultado").html(msg);

    }

};


$(document).ready(function() {
    $("#ordenarbtn").hide();
/*var str = [];
    var index = 0;
       for(var i=50;i>=1;i--){
           str[index ]=i;
           index++;
           }
    
     $("#elementos").val(str.toString());*/
    pagina.ordenar();

    $("#elementos").keyup(pagina.ordenar);
    $("#ordenarbtn").click(pagina.ordenar);
});