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);
});