首页 试题广场 > 试题详情
编程题

【C022069】请用JavaScript语言实现 sort 排序函数,要求:sort([5, 100, 6, 3, -12]) // 返回 [-12, 3, 5, 6, 100]。
如果你有多种解法,请阐述各种解法的思路及优缺点。(仅需用代码实现一种解法,其它解法用文字阐述思路即可)

回复可见正确答案
下一题 上一题
Ke星伙伴们的回答/ 5个回答 添加答案
  • 无量海帮主 1楼

    arr=[5,100,6,3,-12];

    newarr=arr.sort(comp);

    function comp(a,b){

    return a-b

    }

    console.log(newarr);


    发表时间:2017-08-23 14:35:49 评论 0

  • kuser6zzz 2楼

    var ar=[5,5100,6,3,-12];

    var arr=arr.sort();

    document.write(arr);

    发表时间:2017-11-23 22:31:21 评论 0

  • 打不死的小强6988 3楼

    g
    发表时间:2018-01-10 17:52:45 评论 0

  • jeffern 4楼

    q

    发表时间:2018-04-13 09:42:59 评论 0

  • Sa lettre 5楼

    let num = 0;

    /***

           * list 排序数组

           * flag 升序or降序

           ***/

    var createSort = function(list, flag = true) {

    let length = list.length;

    if (list.length <= 1) return list;

    num++;


    let index = 1;

    let memo = list[0];

    let leftArr = [];

    let rightArr = [];

    for(;index < length; index++) {

    if (flag) {

    if (list[index] < memo) {

    leftArr.push(list[index])

    } else {

    rightArr.push(list[index])

    }

    } else {

    if (list[index] > memo) {

    leftArr.push(list[index])

    } else {

    rightArr.push(list[index])

    }

    }

    }

    return createSort(leftArr).concat([memo], createSort(rightArr))

    }

    console.log(createSort([5, 100, 6, 3, -12], true));

    console.log(num);


    发表时间:2018-07-20 15:35:41 评论 0

贡献榜
关闭
关闭
QQ
交流群
邀请
好友
App
下载
意见
反馈
返回
顶部