Skip to content
Related Articles

Related Articles

Print sorted distinct elements of array
  • Difficulty Level : Medium
  • Last Updated : 14 Nov, 2018

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.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to print sorted distinct
// elements.
import java.io.*;
import java.util.*;
  
public class GFG {
       
    static void printRepeating(Integer []arr, int size)
    {
        // Create a set using array elements
        SortedSet<Integer> s = new TreeSet<>();
        Collections.addAll(s, arr);
          
        // Print contents of the set.
        System.out.print(s);
    }
       
    // Driver code
    public static void main(String args[])
    {
        Integer []arr = {1, 3, 2, 2, 1};
        int n = arr.length;
        printRepeating(arr, n);
    }
}
   
// This code is contributed by
// Manish Shaw (manishshaw1)

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to print 
# sorted distinct elements.
  
def printRepeating(arr,size):
  
    # Create a set using array elements 
    s = set()
    for i in range(size):
        if arr[i] not in s:
            s.add(arr[i])
  
    # Print contents of the set.
    for i in s:
        print(i,end=" ")
  
# Driver code
if __name__=='__main__':
    arr = [1,3,2,2,1]
    size = len(arr)
    printRepeating(arr,size)
  
# This code is contributed by 
# Shrikant13

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to print sorted distinct
// elements.
using System;
using System.Collections.Generic;
using System.Linq;
  
class GFG {
      
    static void printRepeating(int []arr, int size)
    {
        // Create a set using array elements
        SortedSet<int> s = new SortedSet<int>(arr);
      
        // Print contents of the set.
        foreach (var n in s)
        {
            Console.Write(n + " ");
        
    }
      
    // Driver code
    public static void Main()
    {
        int []arr = {1, 3, 2, 2, 1};
        int n = arr.Length;
        printRepeating(arr, n);
    }
}
  
// This code is contributed by
// Manish Shaw (manishshaw1)

chevron_right


Output:

1 2 3

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up
Recommended Articles
Page :