温馨提示×

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

c++
小樊
83
2024-07-12 15:41:30
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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。最后,我们遍历输出合并后的数组结果。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c++ list.sort有哪些常见应用场景

0