void MergeArray(int *pArray1, int nLen1, int *pArray2, int nLen2, int *pArray)
{
int i, j, n;

i = j = n = 0;
while (i < nLen1 && j < nLen2)                  // 循环一直进行到拷贝完某一个数组的元素为止
{
    if (pArray1[i] < pArray2[j])                // 拷贝array1的元素
    {
        pArray[n++] = pArray1[i++];
    }
    else if (pArray1[i] > pArray2[j])            // 拷贝array2的元素
    {
        pArray[n++] = pArray2[j++];                       
    }
    else                                          // 相等的元素拷贝
    {
        pArray[n++] = pArray2[j++];                       
        ++i;
    }
}

if (i == nLen1)                              // 如果array1已经被拷贝完毕就拷贝array2的元素
{
    while (j < nLen2)
        pArray[n++] = pArray2[j++];
}
else                                         // 如果array2已经被拷贝完毕就拷贝array1的元素
{
    while (i < nLen1)
        pArray[n++] = pArray1[i++];
}

}


Pikachu
14 声望0 粉丝

这家伙实在是太懒了