合并两个有序数组
题目
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
说明:
初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
示例:
输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3
输出: [1,2,2,3,5,6]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
我的代码
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){
if(nums1Size==0||nums2Size==0||n==0)
return;
if(m==0)
{
for(int i=0;i<n;i++)
{
nums1[i]=nums2[i];
}
return;
}
int a,b,l=m;
for(a=0;a<n;a++)
{
for(b=l-1;b>=0&&nums1[b] >nums2[a];b--)
{
nums1[b+1]=nums1[b];
}
nums1[b+1]=nums2[a];
l++;
}
}
采用插入排序的方法,将nums2中的元素插入到nums1中的有序表中
执行结果

执行时发现的错误:if条件语句中的判断语句只写了一个等号,导致代码出错,所以在编程的时候要小心且细心,对于一些容易记错的基础知识还是应该多加注意。
本文详细解析了如何将两个已排序的整数数组合并为一个有序数组的问题,通过具体示例和代码实现,展示了插入排序方法的应用,同时强调了编程中需要注意的细节。
144

被折叠的 条评论
为什么被折叠?



