美文网首页
算法(冒泡排序,快排,归并排序)

算法(冒泡排序,快排,归并排序)

作者: 柠檬不萌5120 | 来源:发表于2018-03-28 12:41 被阅读0次

冒泡排序

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

快速排序

    function sort(arr) {
        if(arr.length<=1){
            return arr;
        }

        var middle = arr[0];
        var left = [];
        var right = [];
        for(var i =1;i<arr.length;i++){
            var value = arr[i];
            if (value<middle){
                left.push(value)
            }else {
                right.push(value)
            }
        }

        return sort(left).concat(middle,sort(right))
    }

归并排序

    function merge(left, right) {
        var result = [];
        while(left.length > 0 && right.length > 0) {
            if(left[0] < right[0]) {
                result.push(left.shift());
            }
            else {
                result.push(right.shift());
            }
        }
        /* 当左右数组长度不等.将比较完后剩下的数组项链接起来即可 */
        return result.concat(left).concat(right);
    }
    function mergeSort(arr){
        if(arr.length==1) {return arr};
        var mid=Math.floor(arr.length/2);
        var left_arr=arr.slice(0,mid),right_arr=arr.slice(mid);
        return merge(mergeSort(left_arr),mergeSort(right_arr));
    }

相关文章

  • 基本排序算法

    冒泡算法 简单选择排序 堆排序 快排 归并排序

  • JavaScript实现排序算法

    实现了冒泡,选择,插入,快排,希尔,归并 冒泡排序 选择排序 插入排序 快速排序 希尔排序 归并排序

  • 快排,归并,冒泡

    快排代码 归并代码 冒泡排序

  • 各种排序算法

    排序算法包括很多,常见的有快排,堆排序,冒泡排序,归并排序,选择排序,插入排序等, 各种排序算法经常出现在面试题中...

  • 7种排序代码总结

    冒泡排序 选择排序 插入排序 希尔排序 归并排序 三路快排 堆排序

  • 排序 -- 快排/归并

    聊聊排序吧 冒泡排序 选择排序 插入排序 快速排序 归并排序 计数排序 桶排序 堆排序 本篇 快排/归并 之前的三...

  • 五种排序算法时间对比(堆,归并,快排..)

    写了一下五种常见的排序算法(归并,快排,堆排序,插入排序,冒泡排序),通过排序同样的数组(随机生成0~100000...

  • 排序算法

    排序算法 排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排...

  • 常见十大排序算法概述

    排序算法概述 网上常见的排序算法有十种:冒泡排序、快速排序、插入排序、希尔排序、选择排序、堆排序、归并排序、计数排...

  • swift排序

    1、冒泡排序 2、选择排序 3、插入排序 4、希尔排序 5、快排 6、归并排序

网友评论

      本文标题:算法(冒泡排序,快排,归并排序)

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