Open In App
Related Articles

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

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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)




 



Last Updated : 13 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads