Skip to content
Related Articles

Related Articles

Sort 3 Integers without using if condition or using only max() function

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 23 Jun, 2022
View Discussion
Improve Article
Save Article

Given three inte­gers, print them in sorted order with­out using if condition.
Examples : 
 

Input  : a = 3, b = 2, c = 9
Output : 2 3 9

Input  : a = 4, b = 1, c = 9
Output : 1 4 9

 

Approach : 
1. Find the max­i­mum of a, b, c using max() function. 
3. Mul­ti­ply all inte­gers by –1. Again find Min­i­mum of –a, –b, –c using max() function. 
4. Add the Max and Min from above steps and sub­tract the sum from (a+b+c). It gives us mid­dle element.
It works for negative numbers also.
 

C++




// C++ program to print three numbers
// in sorted order using max function
#include<bits/stdc++.h>
using namespace std;
 
void printSorted(int a, int b, int c)
{
    // Find maximum element
    int get_max = max(a, max(b, c));
 
    // Find minimum element
    int get_min = -max(-a, max(-b, -c));
 
    int get_mid = (a + b + c)
                 - (get_max + get_min);
 
    cout << get_min << " " << get_mid
        << " " << get_max;
}
 
// Driver code
int main()
{
    int a = 4, b = 1, c = 9;
    printSorted(a, b, c);
    return 0;
}

Java




// Java program to print three numbers
// in sorted order using max function
class GFG
{
     
    static void printSorted(int a, int b, int c)
    {
        // Find maximum element
        int get_max = Math.max(a, Math.max(b, c));
     
        // Find minimum element
        int get_min = -Math.max(-a, Math.max(-b, -c));
     
        int get_mid = (a + b + c)
                      - (get_max + get_min);
     
        System.out.print(get_min + " " + get_mid
                                + " " + get_max);
    }
     
    // Driver code
    public static void main(String[] args)
    {
         
        int a = 4, b = 1, c = 9;
         
        printSorted(a, b, c);
    }
}
 
// This code is contributed by Anant Agarwal.

Python3




# Python3 program to print three numbers
# in sorted order using max function
 
def printSorted(a, b, c):
     
    # Find maximum element
    get_max = max(a, max(b, c))
 
    # Find minimum element
    get_min = -max(-a, max(-b, -c))
 
    get_mid = (a + b + c) - (get_max + get_min)
 
    print(get_min, " " , get_mid, " " , get_max)
 
# Driver Code
a, b, c = 4, 1, 9
printSorted(a, b, c)
 
# This code is contributed by Anant Agarwal.

C#




// C# program to print three numbers
// in sorted order using max function
using System;
 
class GFG {
     
    static void printSorted(int a, int b, int c)
    {
        // Find maximum element
        int get_max = Math.Max(a, Math.Max(b, c));
     
        // Find minimum element
        int get_min = -Math.Max(-a, Math.Max(-b, -c));
     
        int get_mid = (a + b + c) -
                      (get_max + get_min);
     
    Console.Write(get_min + " " + get_mid
                          + " " + get_max);
    }
     
    // Driver code
    public static void Main()
    {
        int a = 4, b = 1, c = 9;
         
        printSorted(a, b, c);
    }
}
 
// This code is contributed by nitin mittal.

PHP




<?php
// PHP program to print three numbers
// in sorted order using max function
 
function printSorted($a, $b, $c)
{
     
    // Find maximum element
    $get_max = max($a, max($b, $c));
 
    // Find minimum element
    $get_min = -max(-$a, max(-$b, -$c));
 
    $get_mid = ($a + $b + $c) -
               ($get_max + $get_min);
 
    echo $get_min , " " , $get_mid, " " , $get_max;
}
 
    // Driver Code
    $a = 4;
    $b = 1;
    $c = 9;
    printSorted($a, $b,$c);
 
// This code is contributed by nitin mittal.
?>

Javascript




<script>
 
// JavaScript program for the above approach
function printSorted(a, b, c)
    {
     
        // Find maximum element
        let get_max = Math.max(a, Math.max(b, c));
       
        // Find minimum element
        let get_min = -Math.max(-a, Math.max(-b, -c));
       
        let get_mid = (a + b + c) 
                      - (get_max + get_min);
       
        document.write(get_min + " " + get_mid
                                + " " + get_max);
    }
 
// Driver Code
     
     let a = 4, b = 1, c = 9;        
     printSorted(a, b, c);
 
// This code is contributed by splevel62.
</script>

Output: 
 

 1 4 9

Time Complexity: O(1)
Auxiliary Space: O(1)

This article is contributed by Rakesh Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!