不二如是 发表于 2017-5-27 05:56:41

算法23 ◉‿◉ 归并排序

本帖最后由 不二如是 于 2017-5-27 07:00 编辑

http://xxx.fishc.com/forum/201705/05/225545py2j222x5z6x55n2.png

按照提示,完成代码,秀秀你的编程能力!

不许看答案,否则打屁屁




程序分析:
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。
具体算法描述如下:
<1>.把长度为n的输入序列分成两个长度为n/2的子序列;
<2>.对这两个子序列分别采用归并排序;
<3>.将两个排序好的子序列合并成一个最终的排序序列。       

源代码:
**** Hidden Message *****




○面试题索引贴●
如果喜欢,请订阅{:10_303:} :
HTML5 - 庖丁解牛 + JavaScript - 庖丁解牛

wfxiang 发表于 2018-3-8 11:26:35

顶。。。。

a211827754 发表于 2018-9-24 16:00:36

em

yubowen127 发表于 2018-10-6 22:30:49

看一哈

光头才是终点 发表于 2018-10-8 15:33:33

111

凌乱大帅比 发表于 2018-10-11 16:19:13

本帖最后由 凌乱大帅比 于 2018-10-11 16:23 编辑

//归并排序
var arr2_1 = ;
var arr2_2 = ;
var temp = [],j=0,k=0;                //j:数组A的位置循环数      k:数组B的位置循环数
var merge = function(arr1,arr2){
        for(var i=0;i<arr1.length+arr2.length;i++){        //循环次数为两个数组的总长
                if(arr1>arr2){                        //如果A要压入的数大于B相应的,那就压入B
                        temp.push(arr2);
                        j++;
                }else{
                        temp.push(arr1)                //else正常压入A的数
                        k++;
                }
        }
        console.log(temp);
}
merge(arr2_1,arr2_2);

emm。。。。。。。。第二个能做的起的排序题,准确的说是能够理解意思{:10_266:}

凌乱大帅比 发表于 2018-10-11 20:07:22

对比了运行速度,我知道我又错了{:10_301:}

凌乱大帅比 发表于 2018-10-11 20:23:03

@不二如是

为什么第一个while已经处理完了所有的数据,后面还要跟两个while呢

ChaofanChen 发表于 2018-10-17 16:21:01

来看看

大西瓜 发表于 2018-10-19 08:02:38

学习一下

wangbuliuxing 发表于 2018-11-27 20:10:32

学习

op123456622 发表于 2019-1-4 18:24:38

666

wangdxf 发表于 2019-4-1 13:04:54

{:5_103:}

笙歌万里 发表于 2019-4-23 21:06:20

回复

jsyw_aduo 发表于 2019-6-6 13:46:37

学习下

gyemperor 发表于 2019-6-23 13:14:33

1

vcbeaut 发表于 2019-8-16 10:29:17

瞅瞅

唐彡 发表于 2019-8-31 12:12:41

5555

不完美的完美 发表于 2019-10-8 20:31:37

学习

讨厌裸睡的猪 发表于 2019-10-16 22:17:55

111
页: [1] 2
查看完整版本: 算法23 ◉‿◉ 归并排序