miércoles, 22 de abril de 2015

JavaScript - Algoritmo de ordenamiento

function quitaElmasGrande(v){
    var max = 0;
    var posMasgrande = 0;
    for(var i=0; i<v.length;i++){
        if(v[i] > max){
            max = v[i]   
            posMasgrande = i;
        }
    }    
    v.splice(posMasgrande,1)    //quita el elemento
    return max;
}

function ordenarDeMayorAMenor(arr){
    var original = arr.slice() //hago una copia del vector
    var vec_ordenado = []
    var max=0;    
    
    while( original.length > 0 ){ //corto cuando no tengo mas elementos en el array
        max = quitaElmasGrande(original)
        vec_ordenado.unshift(max)       //agrega al inicio 
    }
    
    return vec_ordenado;
}

/* --------------- aca empieza ----------------- */
var vec = [5,4,2,9,4,6,3,2,6]
//console.log(vec, quitaElmasGrande(vec), vec)

var vec2 = ordenarDeMayorAMenor(vec)
//vec.splice(3,1)
console.log("le mando este vector desordenado: ", vec)
console.log("y me lo devuelve ordenado: ", vec2) //[2, 2, 3, 4, 4, 5, 6, 6, 9]

No hay comentarios:

Publicar un comentario