26
unknown
c_cpp
4 years ago
734 B
7
Indexable
#include<stdio.h> int merge(int arr1[], int arr2[], int n1, int n2, int arr3[], int n3) { int i = 0, j = 0, k = 0; while (i < n1 && j < n2) { if (arr1[i] < arr2[j]) arr3[k++] = arr1[i++]; else arr3[k++] = arr2[j++]; } while (i < n1) arr3[k++] = arr1[i++]; while (j < n2) arr3[k++] = arr2[j++]; n3 = (sizeof(*arr1) + sizeof(*arr2) - 1)/2; return arr3[n3]; } int main() { int arr1[] = {1, 3, 5, 7}; int n1 = sizeof(arr1) / sizeof(arr1[0]); int arr2[] = {2, 4, 6, 8}; int n2 = sizeof(arr2) / sizeof(arr2[0]); int arr3[n1+n2]; // printf("Array after merging \n"); // for (int i=0; i < n1+n2; i++) // printf("%d ", arr3[i]); printf("%d ", merge(arr1, arr2, n1, n2, arr3, n1+n2)); return 0; }
Editor is loading...