C Program to Merge Two Arrays

C Programming Examples


C program to merge two arrays into one array, Arrays are assumed to be sorted in ascending order.
Enter the two short sorted arrays and combine them to obtain a large array.

Program:

#include <stdio.h>

void merge(int [], int, int [], int, int []);

int main() 
{
    int a[100], b[100], m, n, c, sorted[200];
    
    printf("Input number of elements in first array\n");
    scanf("%d", &m);
    
    printf("Input %d integers\n", m);
    for (c = 0; c < m; c++) {    
        scanf("%d", &a[c]);       
    }
    
    printf("Input number of elements in second array\n");
    scanf("%d", &n);
    
    printf("Input %d integers\n", n);
    for (c = 0; c < n; c++) {    
        scanf("%d", &b[c]);    
    }
    
    merge(a, m, b, n, sorted);
    
    printf("Sorted array:\n");
    
    for (c = 0; c < m + n; c++) {    
        printf("%d\n", sorted[c]);    
    }    
    return 0;
}

void merge(int a[], int m, int b[], int n, int sorted[]) {
    int i, j, k;    
    j = k = 0;
    
    for (i = 0; i < m + n;) {
        if (j < m && k < n) {
        
            if (a[j] < b[k]) {            
                sorted[i] = a[j];
                j++; 
            }
            else {            
                sorted[i] = b[k];
                k++; 
            }
            i++;
        }
        
        else if (j == m) {
            for (; i < m + n;) {            
                sorted[i] = b[k];
                k++;
                i++; 
            }
        }
        
        else {
            for (; i < m + n;) {                
                sorted[i] = a[j];
                j++;
                i++;
            }
        }
    }
}

Program Output:

merge-two-arrays

If arrays are not sorted so you can sort them first and then use the above merge function, another method is to merge them and then sort the array. Two small arrays sorting will take less time than sorting a large array. Merging two sorted arrays is used in merge sort algorithm.



Found This Page Useful? Share It!
Get the Latest Tutorials and Updates
Join us on Telegram

Notifications

Updates are enabled for this browser.

Receive new tutorials, articles and learning resources. You can turn updates off anytime.

Test browser code

Use this code in admin to send a test notification to this browser.