美文网首页
品一品编程 --- 5

品一品编程 --- 5

作者: Candy程 | 来源:发表于2017-04-22 16:21 被阅读0次
问题描述:

实现基于数组的 sort 排序函数

var sort = function(arr) {
    // your code
}

sort([5, 100, 6, 3, -12]) //[-12, 3, 5, 6, 100]
程序如下:

//冒泡排序 O(n^2)

var sort = function(arr) {
    var len = arr.length
    for(var i = 0; i < len-1; i++) {
        for(var j = i+1; j < len; j++) {
            if(arr[i] > arr[j]) {
                var tmp = arr[i]
                arr[i] = arr[j]
                arr[j] = tmp
            }
        }
    }
    return arr
}

//快速排序---优势:原地排序O(n*log2n)

var quickSort = function(arr) {
    function sort(left,right) {
        var high = right;
        var pivot = arr[left];
        if(right > left){
            while(left < right) {
                while(left < right && arr[right] > pivot) {
                    right--;
                };
                arr[left] = arr[right];
                while(left < right && arr[left] < pivot) {
                    left++;
                }
                arr[right] = arr[left];
            }
            arr[left] = pivot;
            sort(0, left);
            sort(left+1, high);
        }
    }
    sort(0,arr.length-1);
    return arr;
}

相关文章

  • 品一品编程 --- 5

    问题描述: 实现基于数组的 sort 排序函数 程序如下: //冒泡排序 O(n^2) //快速排序---优势:...

  • 品一品编程 --- 1

    问题描述: 淘宝首页需要实现这样一个功能,对于页面上非taobao.com域名下的链接,在用户点击时,需要在链接处...

  • 品一品编程 --- 2

    问题描述: 实现目前一些主流框架的循环渲染 程序如下:

  • 品一品编程 --- 4

    问题描述: 随机生成一个[min,max]区间内的整数 程序如下: 问题描述: 有一个长度为100的数组,以优雅的...

  • 品一品编程 --- 3

    问题描述: 实现链式调用 程序如下:

  • 品一品编程 --- 6(函数式编程)

    问题描述 给出数组如:[['a','b','c'],['d','e'],['f','g']…..]输出:['adf...

  • 品茶如品人生

    茶品与人品。品茶如品人生。 品茶有三品: 一品一一品火功 二品一一品滋味 三品一一品茶韵 品火功,是感受茶叶的加工...

  • 品茶如品人生

    茶品与人品。品茶如品人生。 品茶有三品: 一品一一品火功 二品一一品滋味 三品一一品茶韵 品火功,是感受茶叶的加工...

  • 一品干面

    文/百福仙 曾经有皇帝封的一品夫人,怎么会有个一品干面?怎么样面才称得上一品干面? 原来呀,这一品...

  • 净空法师:以为捐献一点财物,这就叫布施,你把布施看得太简单

    从这一品经,这一品经在整个《地藏经》里面,是最重要的一品;地藏经末后结归到三宝,「名号品」是佛宝,「布施品」是法宝...

网友评论

      本文标题:品一品编程 --- 5

      本文链接:https://www.haomeiwen.com/subject/qmqvattx.html