Skip to content
Related Articles

Related Articles

Sort 3 numbers
  • Difficulty Level : Hard
  • Last Updated : 02 Jul, 2020
GeeksforGeeks - Summer Carnival Banner

Given three numbers, how to sort them?

Examples:

Input  : arr[] = {3, 2, 1}
Output : arr[] = {1, 2, 3}

Input : arr[] = {6, 5, 0}
Output :arr[] = {0, 5, 6}

One simple solution is to use sort function.

C++




// C++ program to sort an array of size 3
#include <algorithm>
#include <iostream>
using namespace std;
  
int main()
    int a[] = {10, 12, 5};
  
    sort(a, a + 3);
  
    for (int i = 0; i < 3; i++) 
        cout << a[i] << " ";
  
    return 0;
}

Java




// Java program to sort
// an array of size 3
import java.io.*;
import java .util.*;
  
class GFG 
{
    public static void main (String[] args)
    {
        int a[] = {10, 12, 5};
  
        Arrays.sort(a);
  
        for (int i = 0; i < 3; i++) 
            System.out.print( a[i] + " ");
    }
}
  
// This code is contributed
// by inder_verma.

Python3




# Python3 program to sort
# an array of size 3
a = [10, 12, 5]
a.sort()
for i in range(len(a)):
    print(a[i], end = ' ')
  
# This code is contributed
# by Samyukta S Hegde

C#




// C# program to sort
// an array of size 3
using System;
class GFG 
{
    public static void Main ()
    {
        int []a = {10, 12, 5};
  
        Array.Sort(a);
  
        for (int i = 0; i < 3; i++) 
         Console.Write( a[i] + " ");
    }
}
  
// This code is contributed 
// by chandan_jnu.

PHP




<?php
// PHP program to sort 
// an array of size 3
$a = array(10, 12, 5);
  
sort($a);
  
for ($i = 0; $i < 3; $i++) 
    echo $a[$i] , " ";
  
// This code is contributed 
// by chandan_jnu.
?>
Output:
5 10 12


How to write our own sort function that does minimum comparison and does not use extra variables?

The idea is to use insertion sort as insertion sort works best for small arrays.

C++




// C++ program to sort an array of size 3
#include <algorithm>
#include <iostream>
using namespace std;
  
int sort3(int arr[])
{
    // Insert arr[1]
    if (arr[1] < arr[0])
       swap(arr[0], arr[1]);
  
    // Insert arr[2]
    if (arr[2] < arr[1])
    {
       swap(arr[1], arr[2]);
       if (arr[1] < arr[0])
          swap(arr[1], arr[0]);
    }
}
  
int main()
    int a[] = {10, 12, 5};
      
    sort3(a);
  
    for (int i = 0; i < 3; i++) 
        cout << a[i] << " ";
  
    return 0;
}

Java




// Java program to sort 
// an array of size 3
import java.io.*;
import java.util.*;
  
class GFG
{
static void sort3(int arr[],
                  int temp[])
{
    // Insert arr[1]
    if (arr[1] < arr[0])
        {
            temp[0] = arr[0];
            arr[0] = arr[1];
            arr[1] = temp[0];
        }
  
    // Insert arr[2]
    if (arr[2] < arr[1])
    {
            temp[0] = arr[1];
            arr[1] = arr[2];
            arr[2] = temp[0];
              
    if (arr[1] < arr[0])
        {
            temp[0] = arr[0];
            arr[0] = arr[1];
            arr[1] = temp[0];
        }
    }
}
  
// Driver Code
public static void main(String args[])
    int a[] = new int[]{10, 12, 5};
    int temp1[] = new int[10];
    sort3(a, temp1);
  
    for (int i = 0; i < 3; i++) 
        System.out.print( a[i] + " ");
}
}
  
// This code is contributed
// by Akanksha Rai(Abby_akku)

Python3




# Python3 program to sort an array of size 3
def sort3(arr):
      
    # Insert arr[1]
    if (arr[1] < arr[0]):
        arr[0], arr[1] = arr[1], arr[0]
          
    # Insert arr[2]
    if (arr[2] < arr[1]):
        arr[1], arr[2] = arr[2], arr[1]
        if (arr[1] < arr[0]):
            arr[1], arr[0] = arr[0], arr[1]
      
# Driver code
a = [10, 12, 5]
  
sort3(a)
  
for i in range(3):
    print(a[i],end=" ")
      
# This code is contributed by shubhamsingh10

C#




// C# program to sort 
// an array of size 3
using System;
  
class GFG {
      
static void sort3(int []arr, int []temp)
{
      
    // Insert arr[1]
    if (arr[1] < arr[0])
        {
            temp[0] = arr[0];
            arr[0] = arr[1];
            arr[1] = temp[0];
        }
  
    // Insert arr[2]
    if (arr[2] < arr[1])
    {
        temp[0] = arr[1];
        arr[1] = arr[2];
        arr[2] = temp[0];
              
        if (arr[1] < arr[0])
        {
            temp[0] = arr[0];
            arr[0] = arr[1];
            arr[1] = temp[0];
        }
    }
}
  
    // Driver Code
    public static void Main(String []args)
    
        int []a= new int[]{10, 12, 5};
        int []temp1 = new int[10];
        sort3(a, temp1);
      
        for (int i = 0; i < 3; i++) 
            Console.Write( a[i] + " ");
    }
}
  
// This code is contributed
// by Akanksha Rai(Abby_akku)

PHP




<?php
// PHP program to sort an array of size 3
function sort3(&$arr, $temp)
{
    // Insert arr[1]
    if ($arr[1] < $arr[0])
    {
        $temp[0] = $arr[0];
        $arr[0] = $arr[1];
        $arr[1] = $temp[0];
    }
  
    // Insert arr[2]
    if ($arr[2] < $arr[1])
    {
        $temp[0] = $arr[1];
        $arr[1] = $arr[2];
        $arr[2] = $temp[0];
    }
      
    if ($arr[1] < $arr[0])
    {
        $temp[0] = $arr[0];
        $arr[0] = $arr[1];
        $arr[1] = $temp[0];
    }
}
  
// Driver Code
$a = array(10, 12, 5);
$temp1 = array(10);
sort3($a, $temp1);
  
for ($i = 0; $i < 3; $i++) 
    echo($a[$i] . " ");
  
// This code is contributed
// by Code_Mech.
?>
Output:
5 10 12

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 :