Arrays 两个数组的合并函数
合并函数对于两个数组,该函数工作不正常,并且没有给出所需的答案。我希望像函数所说的那样合并已排序的数组,但它不起作用Arrays 两个数组的合并函数,arrays,sorting,merge,mergesort,Arrays,Sorting,Merge,Mergesort,合并函数对于两个数组,该函数工作不正常,并且没有给出所需的答案。我希望像函数所说的那样合并已排序的数组,但它不起作用 var Merge = function(array,array1,array2) { var n_array = array.length; var n_array1 = array1.length; var i = j = k = 0; while(i < n_array && j < n_array1) {
var Merge = function(array,array1,array2)
{
var n_array = array.length;
var n_array1 = array1.length;
var i = j = k = 0;
while(i < n_array && j < n_array1)
{
if(array[i] <= array2[j])
{
array2[k] = array[i];
i = i + 1;
}
else
{
array2[k] = array1[j];
j = j + 1;
}
k = k + 1;
}
while(i < n_array)
{
array2[k] = array[i];
i = i + 1;
k = k + 1;
}
while(j < n_array1)
{
array2[k] = array1[j];
j = j + 1;
k = k + 1;
}
return array2;
};
array = [1,3,5,7];
array1 = [2,4,6,8];
array2 = [];
var result = Merge(array,array1,array2);
console.log("The array is sorted is " + result);
var Merge=function(数组、数组1、数组2)
{
var n_array=array.length;
var n_array1=array1.length;
var i=j=k=0;
while(ivar Merge=function(array,array1,array2)
{
var n_array=array.length;
var n_array1=array1.length;
var i=j=k=0;
while(ivar Merge=function(array,array1,array2)
{
var n_array=array.length;
var n_array1=array1.length;
var i=j=k=0;
while(i if(array[i]虽然上面提到了代码的修复程序,但仅仅进行合并和排序就需要很多行。如果您知道您将处理数字,则可以使用以下命令:
var arr = [1, 10, 22];
var arr1 = [20, 17, 3];
var arr2 = arr.concat(arr1);
sortAsc(arr2);
function sortAsc(arrayToSort){
return arrayToSort.sort(function(a, b){
return a - b;
});
}
虽然上面提到了代码的修复,但是仅仅进行合并和排序就需要很多行。如果您知道您将处理数字,可以使用以下命令:
var arr = [1, 10, 22];
var arr1 = [20, 17, 3];
var arr2 = arr.concat(arr1);
sortAsc(arr2);
function sortAsc(arrayToSort){
return arrayToSort.sort(function(a, b){
return a - b;
});
}
任务是不要使用推式函数,上面的逻辑有什么错误,你能解释一下我上面的代码吗,为什么我没有得到解决方案现在它返回了,但没有对数组进行排序。我能发现的最后一个问题是你在第一个if语句中输入了一个错误。你把array
与array2
进行比较,而不是array1
的任务是不要使用推式函数,上面的逻辑有什么错误,你能解释一下我上面的代码吗,为什么我没有得到解决方案现在它返回了,但没有对数组进行排序。我能发现的最后一个问题是你在第一个if语句中输入了一个错误。你将数组
与数组2
进行比较阵列的数量1