c语言解决合并两个有序数组-剑指offer
一,思维导图
二,具体代码
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){ int nu1=m-1; int nu2=n-1; while(nu2>=0&&nu1>=0) { if(nu1>nu2) //考虑m>n的情况 { nums1[nu1+nu2+1]=nums2[nu2]; nu2--; } else //考虑m=n { nums1[nu1+nu2+1]=nums1[nu1]; nu1--; } } while(nu2>=0)//考虑m为空,n>0 { nums1[nu1+nu2+1]=nums2[nu2]; nu2--; } for(int a=0;a1;a++) { for(int b=0;b 1;b++) { if(nums1[b]>nums1[b+1]) { int temp=0; temp=nums1[b]; nums1[b]=nums1[b+1]; nums1[b+1]=temp; } } } }