Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

C++ Program to Print uncommon elements from two sorted arrays

  • Last Updated : 19 Jan, 2022

Given two sorted arrays of distinct elements, we need to print those elements from both arrays that are not common. The output should be printed in sorted order. 
Examples : 
 

Input : arr1[] = {10, 20, 30}
        arr2[] = {20, 25, 30, 40, 50}
Output : 10 25 40 50
We do not print 20 and 30 as these
elements are present in both arrays.

Input : arr1[] = {10, 20, 30}
        arr2[] = {40, 50}
Output : 10 20 30 40 50
        

 

The idea is based on merge process of merge sort. We traverse both arrays and skip common elements.
 

C++




// C++ program to find uncommon elements of
// two sorted arrays
#include <bits/stdc++.h>
using namespace std;
  
void printUncommon(int arr1[], int arr2[], 
                           int n1, int n2)
{
  
    int i = 0, j = 0, k = 0;
    while (i < n1 && j < n2) {
  
        // If not common, print smaller
        if (arr1[i] < arr2[j]) {
            cout << arr1[i] << " ";
            i++;
            k++;
        }
        else if (arr2[j] < arr1[i]) {
            cout << arr2[j] << " ";
            k++;
            j++;
        }
  
        // Skip common element
        else {
            i++;
            j++;
        }
    }
  
    // printing remaining elements
    while (i < n1) {
        cout << arr1[i] << " ";
        i++;
        k++;
    }
    while (j < n2) {
        cout << arr2[j] << " ";
        j++;
        k++;
    }
}
  
// Driver code
int main()
{
    int arr1[] = {10, 20, 30};
    int arr2[] = {20, 25, 30, 40, 50};
  
    int n1 = sizeof(arr1) / sizeof(arr1[0]);
    int n2 = sizeof(arr2) / sizeof(arr2[0]);
  
    printUncommon(arr1, arr2, n1, n2);
  
    return 0;
}
Output : 
10 25 40 50

 

Please refer complete article on Print uncommon elements from two sorted arrays for more details!


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!