在此程序中,合并两个数组,然后使用临时排序。但这不是正确的方法。因为两个数组已排序,所以方法应该是唯一的,即合并两个以排序形式排序的数组应该是唯一的。
例子:
a=[1,2,3,5,9]
b=[4,6,7,8]
function mergeSortdArray(a,b){
for(var i=0;i<b.length;i++){
a.push(b[i]);
}
//console.log(a);
for(i=0;i<a.length;i++)
{
for(j=i+1;j<a.length;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
return a;
}
console.log(mergeSortedArray([1,2,3,5,9],[4,6,7,8]));
原文由 Amit Modi 发布,翻译遵循 CC BY-SA 4.0 许可协议
嘿,我根据一个简单的 .concat() 和 .sort() 方法从上面运行了每个人的代码。对于大数组和小数组,.concat() 和 .sort() 在更短的时间内完成,显着。
对于大小为 10,000 的数组,随着连接和排序的运行速度比以前更快(4.831 毫秒对 0.008 毫秒),差异甚至更大。
javascript 中发生了什么让它更快?