合并两个有序数组
程序员文章站
2022-06-23 08:38:07
题目描述给出两个有序的整数数组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--];
}
}
};
本文地址:https://blog.csdn.net/qq_44790423/article/details/109250427
下一篇: 用R语言绘制ROC曲线的实例讲解