C++合并和排序两个数组:完整代码示例和解释
C++合并和排序两个数组:完整代码示例和解释
这篇文章提供了一个C++代码示例,演示了如何合并和排序两个数组。
代码cpp#include #include #include
int main() { int n1, n2; std::vector
// 输入表1的元素个数和元素值 std::cout << '请输入表1的元素个数:'; std::cin >> n1; std::cout << '请输入表1的元素值,以空格分隔:'; for (int i = 0; i < n1; i++) { int num; std::cin >> num; list1.push_back(num); }
// 输入表2的元素个数和元素值 std::cout << '请输入表2的元素个数:'; std::cin >> n2; std::cout << '请输入表2的元素值,以空格分隔:'; for (int i = 0; i < n2; i++) { int num; std::cin >> num; list2.push_back(num); }
// 合并两个表 list1.insert(list1.end(), list2.begin(), list2.end());
// 对合并后的表进行排序 std::sort(list1.begin(), list1.end());
// 输出合并后的元素值 std::cout << '合并后的列表为:' << std::endl; 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;}
代码解释:
-
包含头文件: 代码首先包含了必要的头文件: -
iostream用于输入和输出。 -vector用于使用动态数组std::vector。 -algorithm用于使用std::sort函数。 -
声明变量: 代码声明了以下变量: -
n1,n2:存储两个数组的大小。 -list1,list2:两个std::vector类型的动态数组,用于存储输入的元素。 -
输入元素: 代码提示用户输入两个数组的大小和元素值,并将它们存储在相应的向量中。
-
合并数组: 使用
insert函数将list2中的元素插入到list1的末尾。 -
排序数组: 使用
std::sort函数对合并后的list1进行排序。 -
输出结果: 代码遍历排序后的
list1,并使用循环打印每个元素,以逗号分隔。
代码优化:
- 可以使用
std::merge函数来更有效地合并两个已排序的数组。- 可以使用其他排序算法,如归并排序或快速排序,来提高排序效率。
错误处理:
- 可以添加输入验证,以确保用户输入的数组大小为正数,并且输入的元素都是数字。- 可以添加边界情况处理,例如处理空数组或只有一个元素的数组。
注意: 以上代码仅实现了合并和排序的功能,并且假设输入的数据是有效的。如果需要添加错误处理或其他边界情况的处理,可以根据具体需求进行修改。
原文地址: https://www.cveoy.top/t/topic/UwZ 著作权归作者所有。请勿转载和采集!