Javascript 为什么这个合并排序java脚本实现不起作用?

Javascript 为什么这个合并排序java脚本实现不起作用?,javascript,algorithm,mergesort,Javascript,Algorithm,Mergesort,我已经试了一整天了,但似乎无法找到它不起作用的原因。我认为问题在于我的JavaScript语言技能。我可能缺少一些关于参数传递的概念。你能告诉我错误在哪里吗 这是我的实现,基于一年前我在C#中编写的另一个实现,可以找到 下面是代码(您可以直接在Chromes控制台上尝试,只需复制/粘贴即可“工作”): 函数合并(A,p,q,r){ var n1=q-p+1; var n2=r-q; var i=0; var j=0; var L=[]; 而(i

我已经试了一整天了,但似乎无法找到它不起作用的原因。我认为问题在于我的JavaScript语言技能。我可能缺少一些关于参数传递的概念。你能告诉我错误在哪里吗

这是我的实现,基于一年前我在C#中编写的另一个实现,可以找到

下面是代码(您可以直接在Chromes控制台上尝试,只需复制/粘贴即可“工作”):

函数合并(A,p,q,r){
var n1=q-p+1;
var n2=r-q;
var i=0;
var j=0;
var L=[];
而(i
if(L[i] <= R[i]){

if(L[i]我没有正确检查您的代码,但我可以告诉您它太长了。mergesort应该可以用更少的行来实现。@Kay;Merge Sort algorithm=5行,其余的,您没有注意到的是正在测试代码。Merge-Sort算法与算法简介()中描述的相同。您也可以在这里看到代码:您的变量名选择不当。它们可能会为您节省一些击键时间,但会让我们其他人几乎无法理解您的代码……啊,好吧,明白了。很抱歉,除了批评您的代码之外,我帮不了什么忙……但老实说,我每次看代码都会感到头痛。:-)@RenatoGama我不知道这是否是我显示器的分辨率,但我在
merge(…)
;-)中计算了超过5行
if(L[i] <= R[i]){
if(L[i] <= R[j]){