码迷,mamicode.com
首页 > 编程语言 > 详细

前端排序

时间:2019-07-16 19:00:44      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:let   col   break   else   ++   span   bsp   insert   isa   

function sort(target, type = bubble) {
    if (!Array.isArray(target)) return target;
    let len = target.length;

    if (type === bubble) {
        for (let i = len; i > 0; i--) {
            for (let j = 0; j <= i; j++ ) {
                let v1 = target[j];
                let v2 = target[j + 1];
                if (v1 > v2) {
                    target[j] = v2;
                    target[j + 1] = v1;
                }
            }
        }
    }

    if (type === select) {
        for (let i = 0; i < len - 1; i++) { 
            for (let j = i; j <= len; j++ ) {
                let v1 = target[i];
                let v2 = target[j + 1];
                if (v1 > v2) {
                    target[i] = v2;
                    target[j + 1] = v1;
                }
            }
        }
    }

    if (type === insert) {
        for (let i = 1; i < len; i++) { 
            for (let j = i; j > 0; j-- ) {
                let v1 = target[j]; // 4
                let v2 = target[j - 1]; // 5
                if (v1 < v2) {
                    target[j] = v2;
                    target[j - 1] = v1;
                } else {
                    break;
                }
            }
        }
    }

    return target;
}

sort([5,4,3,2,1], insert);

 

前端排序

标签:let   col   break   else   ++   span   bsp   insert   isa   

原文地址:https://www.cnblogs.com/vs1435/p/11196482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!