zoukankan      html  css  js  c++  java
  • 排序算法之递归算法(归并排序)

    归并排序实现原理:把一系列排好序的子序列合并成一个大的完整有序序列。在递归算法中归并排序算是一个比较典型的例子了,下面是使用javascript实现的归并排序算法:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
        <script>
            var merge = function (unsorted, first, mid, last, sorted){
                var i = first, j = mid;
                var k = 0;
                while (i < mid && j < last){
                    if (unsorted[i] < unsorted[j])
                        sorted[k++] = unsorted[i++];
                    else
                        sorted[k++] = unsorted[j++];
                }
                while (i < mid){
                    sorted[k++] = unsorted[i++];
                }
                while (j < last){
                    sorted[k++] = unsorted[j++];
                }
    
                for (var v = 0; v < k; v++) {
                    unsorted[first + v] = sorted[v];  //   复制到原数组中
                }
            };
    
            var merge_sort = function (unsorted, first, last, sorted){
                if (first + 1 < last)
                {
                    var mid = Math.floor((first + last) / 2);
                    merge_sort(unsorted, first, mid, sorted);
                    merge_sort(unsorted, mid, last, sorted);
                    merge(unsorted, first, mid, last, sorted);
                }
            };
    
    //        var nums = [6,10,1,9,4,8,2,7,3,5];
            var nums = [6,2,8,3];
            var sorted = [];
            console.log("merge before 
    ");
            console.log(nums.toString());
            console.log("merge after 
    ");
            merge_sort(nums, 0, nums.length, sorted);
            console.log(nums.toString());
        </script>
    </body>
    </html>

    参考:http://www.cnblogs.com/jillzhang/archive/2007/09/16/894936.html

  • 相关阅读:
    链接脚本语法
    STM32 硬件IIC接口总线
    C99一些特性
    oneid与用户标签之间的相互打通 实现用户标签
    图计算实现ID_Mapping、Oneid打通数据孤岛
    对于hive使用的一点记录
    centos7 hue安装
    Kafka监控安装
    hadoop2.6.0集群搭建
    centos6+cdh5.4.0 离线搭建cdh搭建
  • 原文地址:https://www.cnblogs.com/duhuo/p/5089820.html
Copyright © 2011-2022 走看看