C++合并两个有序数组:高效算法与代码示例
C++合并两个有序数组:高效算法与代码示例
在编程中,合并两个有序数组是一个常见的任务。本文将介绍一种使用C++语言实现的高效算法,并提供完整的代码示例。
算法描述
该算法的核心思想是利用两个数组已经有序的特点,通过比较两个数组的元素,将较小的元素依次放入新的数组中,最终得到合并后的有序数组。
代码实现
下面是一种使用C++语言实现的解法:cpp#include
int main() { int size1, size2; std::vector
// 输入表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类型的变量list1和list2,分别存储两个输入数组。* 然后,代码分别读取两个数组的元素个数和元素值,并将它们存储到list1和list2中。* 接下来,代码使用insert()函数将list2中的所有元素插入到list1的末尾。* 然后,代码使用std::sort()函数对list1进行排序,使其成为合并后的有序数组。* 最后,代码使用循环遍历list1,并输出合并后的元素值。
总结
本文介绍了一种使用C++语言合并两个有序数组的简单高效的方法。该方法利用了std::vector和std::sort等STL库函数,使得代码更加简洁易懂。您可以将上述代码保存为一个.cpp文件,然后使用C++编译器编译运行。输入样例中的数据,程序将会输出合并后的元素值。
原文地址: https://www.cveoy.top/t/topic/UwM 著作权归作者所有。请勿转载和采集!