给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:
输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
输出:[1,2,2,3,5,6]
示例 2:
输入:nums1 = [1], m = 1, nums2 = [], n = 0
输出:[1]
#include#include using namespace std; void PrintArray(vector &num1) //打印 { for(vector ::iterator it=num1.begin();it!=num1.end();it++) { cout<<*it<<" "; } cout< &num1, int m, vector &num2, int n) { vector temp; temp.reserve(m);//创建一个临时数组,存储num1的内容,用于和num2数组进行比较 //reserve(m):vector容器预留m个空间 for(int i=0;i num1={1,3,5,7,9,19}; vector num2={3,6,8,12,14}; Solution s1; PrintArray(num1); PrintArray(num2); s1.merge2Array(num1,num1.size(),num2,num2.size());//数组归并 PrintArray(num1);//打印归并后的数组 vector num3={1}; vector num4; s1.merge2Array(num3,num3.size(),num4,num4.size()); PrintArray(num3); } int main() { test01(); return 0; }



