c语言实现合并两个有序数组。 将两个非递减的有序数组(顺序表),合并为一个非递减的有序数组。 已知两个数组和它们的长度分别为m和n,将第一个数组长度扩展到m+n,多余位置补0,将第二个数组归并到第一个数组上,合并后的数组不需要额外开辟空间。 要求:算法时间复杂程度O(m+n)
时间: 2024-05-02 09:17:52 浏览: 59
yolov5s nnie.zip
```
void merge(int A[], int m, int B[], int n) {
int i = m-1, j = n-1, k = m+n-1;
while (i >= 0 && j >= 0) {
if (A[i] > B[j]) {
A[k--] = A[i--];
} else {
A[k--] = B[j--];
}
}
while (j >= 0) {
A[k--] = B[j--];
}
}
```
阅读全文