#include <stdio.h>
void MergeTwoSortedArrays(int arr1[], int arr2[], int size1, int size2) {
for (int i = size2 - 1; i >= 0; i--) {
int j, last1 = arr1[size1 - 1];
for (j = size1 - 2; j >= 0 && arr1[j] > arr2[i]; j--) {
arr1[j + 1] = arr1[j];
}
if (last1 > arr2[i]) {
arr1[j + 1] = arr2[i];
arr2[i] = last1;
}
}
}
int main()
{
int arr1[] = { 1, 4, 5, 8, 10, 15, 19, 20 };
int arr2[] = { 2, 3, 6, 9, 12, 17 };
int size1 = sizeof(arr1) / sizeof(arr1[0]);
int size2 = sizeof(arr2) / sizeof(arr2[0]);
MergeTwoSortedArrays(arr1, arr2, size1, size2);
printf("arr1: ");
for (int i = 0; i < size1; i++)
printf("%d ", arr1[i]);
printf("\narr2: ");
for (int i = 0; i < size2; i++)
printf("%d ", arr2[i]);
return 0;
}
/*
run:
arr1: 1 2 3 4 5 6 8 9
arr2: 10 12 15 17 19 20
*/