这个题刚开始没想到怎么做,后面的时候想了下直接使用插入排序倒着排,找到空位置移动进去就可以了,只用stl库函数的时候还是有些生疏的,这个需要多加强
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。
class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i,j=0; //使用插入排序 while(j<n){ i=m-1; while(i>=0&&nums1[i]>nums2[j]){ nums1[i+1]=nums1[i]; i--; } nums1[i+1]=nums2[j]; j++; m++; } } };