C++合并两个有序数组:高效算法与代码示例

在编程中,合并两个有序数组是一个常见的任务。本文将介绍一种使用C++语言实现的高效算法,并提供完整的代码示例。

算法描述

该算法的核心思想是利用两个数组已经有序的特点,通过比较两个数组的元素,将较小的元素依次放入新的数组中,最终得到合并后的有序数组。

代码实现

下面是一种使用C++语言实现的解法:cpp#include #include #include

int main() { int size1, size2; std::vector list1, list2;

// 输入表1的元素个数和元素值    std::cin >> size1;    list1.resize(size1);    for (int i = 0; i < size1; i++) {        std::cin >> list1[i];    }

// 输入表2的元素个数和元素值    std::cin >> size2;    list2.resize(size2);    for (int i = 0; i < size2; i++) {        std::cin >> list2[i];    }

// 合并两个表并排序    list1.insert(list1.end(), list2.begin(), list2.end());    std::sort(list1.begin(), list1.end());

// 输出合并后的元素值    std::cout << 'The current List is: ';    for (int i = 0; i < list1.size(); i++) {        std::cout << list1[i];        if (i != list1.size() - 1) {            std::cout << ',';        }    }    std::cout << std::endl;

return 0;}

代码解释

  • 代码首先定义了两个std::vector类型的变量list1list2,分别存储两个输入数组。* 然后,代码分别读取两个数组的元素个数和元素值,并将它们存储到list1list2中。* 接下来,代码使用insert()函数将list2中的所有元素插入到list1的末尾。* 然后,代码使用std::sort()函数对list1进行排序,使其成为合并后的有序数组。* 最后,代码使用循环遍历list1,并输出合并后的元素值。

总结

本文介绍了一种使用C++语言合并两个有序数组的简单高效的方法。该方法利用了std::vectorstd::sort等STL库函数,使得代码更加简洁易懂。您可以将上述代码保存为一个.cpp文件,然后使用C++编译器编译运行。输入样例中的数据,程序将会输出合并后的元素值。

C++合并两个有序数组:高效算法与代码示例

原文地址: https://www.cveoy.top/t/topic/UwM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录