C Program To Merge Two Arrays
Last Updated :
29 Dec, 2022
To merge 2 arrays in C language we will use the following approaches:
- Using Quaint Methodology
- Using Functions
Input:
arr1 = [1, 2, 3, 4, 5]
arr2 = [6, 7, 8, 9, 10]
Output:
arr3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
1. Using Quaint Methodology
C
#include <stdio.h>
int main()
{
int arr1size = 5, arr2size = 5, arr_resultsize, i, j;
int a[5] = { 1, 2, 3, 4, 5 };
int b[5] = { 6, 7, 8, 9, 10 };
arr_resultsize = arr1size + arr2size;
int c[arr_resultsize];
for (i = 0; i < arr1size; i++) {
c[i] = a[i];
}
for (i = 0, j = arr1size;
j < arr_resultsize && i < arr2size; i++, j++) {
c[j] = b[i];
}
for (i = 0; i < arr_resultsize; i++) {
printf ( "%d " , c[i]);
}
return 0;
}
|
Output
1 2 3 4 5 6 7 8 9 10
2. Using Functions
C
#include <stdio.h>
int mergearray( int a[], int b[], int arr1size, int arr2size)
{
int arr_resultsize = arr1size + arr2size;
int c[arr_resultsize], i, j;
for (i = 0; i < arr1size; i++) {
c[i] = a[i];
}
for (i = 0, j = arr1size;
j < arr_resultsize && i < arr2size; i++, j++) {
c[j] = b[i];
}
for ( int k = 0; k < arr_resultsize; k++) {
printf ( "%d " , c[k]);
}
}
int main()
{
int arr1size = 5, arr2size = 5;
int a[5] = { 1, 2, 3, 4, 5 };
int b[5] = { 6, 7, 8, 9, 10 };
printf ( "%d" , mergearray(a, b, arr1size, arr2size));
return 0;
}
|
Output
1 2 3 4 5 6 7 8 9 10 0
Time complexity: O(M+N) where M and N are size of given arrays a and b respectively
Auxiliary space: O(M+N)
Share your thoughts in the comments
Please Login to comment...