1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <stdio.h> void mergeArrays( int arr1[], int size1, int arr2[], int size2, int merged[]) { int i, j; // Copy elements of the first array for (i = 0; i < size1; i++) { merged[i] = arr1[i]; } // Copy elements of the second array for (j = 0; j < size2; j++) { merged[i + j] = arr2[j]; } } int main() { int array1[] = {1, 3, 5, 7}; int array2[] = {2, 4, 6, 8}; int size1 = sizeof (array1) / sizeof (array1[0]); int size2 = sizeof (array2) / sizeof (array2[0]); int merged[size1 + size2]; mergeArrays(array1, size1, array2, size2, merged); // Print the merged array printf ( "Merged Array: " ); for ( int k = 0; k < size1 + size2; k++) { printf ( "%d " , merged[k]); } printf ( "\n" ); return 0; } |
Explanation
- Include Headers: The program begins with the inclusion of the standard input-output header (
<stdio.h>
). - Function Definition: The
mergeArrays
function takes two arrays along with their sizes and a third array to store the merged result. - Copying Elements:
- The first
for
loop copies elements from the first array (arr1
) to the merged array. - The second
for
loop continues copying elements from the second array (arr2
) to the merged array, starting from the index after the last element copied fromarr1
.
- The first
- Main Function:
- Two example arrays,
array1
andarray2
, are defined, along with their sizes. - A
merged
array is created to hold the combined elements. - The
mergeArrays
function is called to perform the merging.
- Two example arrays,
- Print Result: Finally, the merged array is printed to the console.
Output
For the input arrays {1, 3, 5, 7}
and {2, 4, 6, 8}
, the output will be:
javascriptCopy codeMerged Array: 1 3 5 7 2 4 6 8
This program effectively merges two arrays into one, achieving O(n + m) time complexity, where n and m are the sizes of the two input arrays.
4o mini