c/c++语言开发共享合并两个有序数组

题目描述给出两个有序的整数数组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;

题目描述
给出两个有序的整数数组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

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐