JS排序算法

一、查找数组中最小的值

利用递归

let sort = (arrs)=>{
    if(arrs.length > 2){
        return sort([arrs[0],sort(arrs.slice(1))])
    }else{
        return Math.min.apply(null,arrs)
    }
}
console.log(sort([1,2,3,4,5,6,7,8,9,10])) //1

二、将数组由小到大排列


let minFun = (arrs)=>{
    if(arrs.length > 2){
        return minFun([arrs[0],minFun(arrs.slice(1))])
    }else{
        return Math.min.apply(null,arrs)
    }
} 

let minIndex = (arrs)=>{
    return arrs.indexOf(minFun(arrs))
}

let sort = (arrs)=>{
    if(arrs.length > 2){
        let index = minIndex(arrs);
        let minData = arrs[index];
        arrs.splice(index,1);
        return [minData].concat(sort(arrs))     
    }else{
        return arrs[0] < arrs[1] ? arrs : arrs.reverse()
    }
}

 

你可能感兴趣的:(算法,javascript,数据结构,算法)