温馨提示×

c++ merge如何与排序算法配合

c++
小樊
82
2024-07-12 15:41:30
栏目: 编程语言

在C++中,可以使用标准库中的sort算法对数组进行排序,然后使用merge算法将两个有序数组合并成一个有序数组。以下是一个示例代码:

#include <iostream>
#include <vector>
#include <algorithm>

void merge(std::vector<int>& arr1, std::vector<int>& arr2, std::vector<int>& result) {
    std::merge(arr1.begin(), arr1.end(), arr2.begin(), arr2.end(), std::back_inserter(result));
}

int main() {
    std::vector<int> arr1 = {2, 4, 6, 8, 10};
    std::vector<int> arr2 = {1, 3, 5, 7, 9};

    // 对两个数组进行排序
    std::sort(arr1.begin(), arr1.end());
    std::sort(arr2.begin(), arr2.end());

    std::vector<int> result;

    // 合并两个有序数组
    merge(arr1, arr2, result);

    // 输出合并后的数组
    for (int num : result) {
        std::cout << num << " ";
    }

    return 0;
}

在上面的示例中,我们首先对两个数组arr1和arr2进行排序,然后使用merge函数将它们合并成一个有序数组result。最后,我们遍历输出合并后的数组结果。

0