MST

星途 面试题库

面试题:C++ 归并排序中的合并函数实现

请用C++ 实现归并排序中的合并函数,该函数接收两个已排序的数组和它们的长度,将它们合并成一个新的已排序数组并返回。例如,输入数组A = [1, 3, 5],长度为3,数组B = [2, 4, 6],长度为3,函数应返回 [1, 2, 3, 4, 5, 6]。
26.2万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <vector>

std::vector<int> mergeArrays(const std::vector<int>& A, int lenA, const std::vector<int>& B, int lenB) {
    std::vector<int> mergedArray;
    int i = 0, j = 0;

    while (i < lenA && j < lenB) {
        if (A[i] <= B[j]) {
            mergedArray.push_back(A[i]);
            i++;
        } else {
            mergedArray.push_back(B[j]);
            j++;
        }
    }

    while (i < lenA) {
        mergedArray.push_back(A[i]);
        i++;
    }

    while (j < lenB) {
        mergedArray.push_back(B[j]);
        j++;
    }

    return mergedArray;
}