俩个顺序数组归并
给出一个整数数组 和有序的整数数组 ,请将数组 合并到数组 中,变成一个有序的升序数组
注意:
1.可以假设 数组有足够的空间存放 数组的元素, 和 中初始的元素数目分别为 和 ,的数组空间大小为 +
注意:
1.可以假设 数组有足够的空间存放 数组的元素, 和 中初始的元素数目分别为 和 ,的数组空间大小为 +
2.不要返回合并的数组,返回是空的,将数组 的数据合并到里面就好了
3.数组在[0,m-1]的范围也是有序的
例1:
A: [4,5,6,0,0,0],m=3
B: [1,2,3],n=3
合并过后A为:
A: [1,2,3,4,5,6]
class Solution { public: void merge(int A[], int m, int B[], int n) { int tailA=m-1; int tailB=n-1; int tail=m+n-1; while(tailA!=-1&&tailB!=-1) { if(A[tailA]>B[tailB]) { A[tail]=A[tailA]; tail--; tailA--; } else { A[tail]=B[tailB]; tail--; tailB--; } } if(tailB>=0) { for(int i=0;i<=tailB;i++){ A[i]=B[i]; } } } };