Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 两个数组的合并函数_Arrays_Sorting_Merge_Mergesort - Fatal编程技术网

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(iif(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