Given an array that might contain duplicates, print all distinct elements in sorted order.

Examples:

Input : 1, 3, 2, 2, 1 Output : 1 2 3 Input : 1, 1, 1, 2, 2, 3 Output : 1 2 3

**Simple Solution** is to sort the array first, then traverse the array and print only first occurrences of elements.

**Another Approach** is to use set in C++ STL.

[sourcecode language=”CPP”]

// CPP program to print sorted distinct

// elements.

#include <bits/stdc++.h>

using namespace std;

void printRepeating(int arr[], int size)

{

// Create a set using array elements

set<int> s(arr, arr + size);

// Print contents of the set.

for (auto x : s)

cout << x << " ";

}

// Driver code

int main()

{

int arr[] = { 1, 3, 2, 2, 1 };

int n = sizeof(arr) / sizeof(arr[0]);

printRepeating(arr, n);

return 0;

}

[/sourcecode]

**Output:**

1 2 3

## Recommended Posts:

- Making elements distinct in a sorted array by minimum increments
- Print All Distinct Elements of a given integer array
- Absolute distinct count in a sorted array
- Print uncommon elements from two sorted arrays
- Check if all array elements are distinct
- Distinct adjacent elements in an array
- Count distinct elements in an array
- Product of non-repeating (distinct) elements in an Array
- Find sum of non-repeating (distinct) elements in an array
- Third largest element in an array of distinct elements
- Count subarrays having total distinct elements same as original array
- Construct a distinct elements array with given size, sum and element upper bound
- Print all triplets in sorted array that form AP
- Sort an almost sorted array where only two elements are swapped
- Check if given array is almost sorted (elements are at-most one position away)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.