题目描述
给出两个有序的整数数组A和B,请将数组B合并到数组A中,变成一个有序的数组
注意:
可以假设A数组有足够的空间存放B数组的元素,A和B中初始的元素数目分别为m和n
思路:
从数组的末尾开始,这样不用提前额外开辟空间,同时要考虑其中一个数组为空的情况
代码:
class Solution { public: void merge(int A[], int m, int B[], int n) { int i = m-1, j = n-1, index = m+n-1; while(i >= 0 && j>= 0) { if (A[i]>B[j]) A[index--] = A[i--]; else A[index--] = B[j--]; } while(i>=0) { A[index--] = A[i--]; } while(j>=0) { A[index--] = B[j--]; } } };
c/c++开发分享合并两个有序数组地址:https://blog.csdn.net/qq_44790423/article/details/109250427
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/597235.html