Skip to content
Related Articles

Related Articles

Improve Article

Print a case where the given sorting algorithm fails

  • Last Updated : 10 May, 2021

Given an integer N, the task is to find N elements which fail the below-sorting algorithm. If none of the N elements fail, then print -1. 
 

loop i from 1 to n-1
   loop j from i to n-1 
      if a[j]>a[i+1]  
         swap(a[i], a[j+1])

Examples: 
 

Input: N = 10 
Output: 10 9 8 7 6 5 4 3 2 1 

Input: N = 2
Output: -1

 

Approach: On solving for various cases, we can observe that only for n<=2, the given algorithm is invalid. Any value of N above that will fail on the given algorithm. A sorted array consisiting of N numbers(1, 2, 3 . . N) in reverse order cannot be sorted using this given algorithm. 
Below is the implementation of the above approach: 
 

C++




// C++ program to find a case where the
// given algorithm fails
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to print a case
// where the given sorting algorithm fails
void printCase(int n)
{
    // only case where it fails
    if (n <= 2) {
        cout << -1;
        return;
    }
 
    for (int i = n; i >= 1; i--)
        cout << i << " ";
}
 
// Driver Code
int main()
{
    int n = 3;
 
    printCase(n);
 
    return 0;
}

Java




// Java program to find a case where the
// given algorithm fails
 
import java.io.*;
 
class GFG {
    // Function to print a case where
// the given sorting algorithm fails
static void printCase(int n)
{
// only case where it fails
if (n <= 2) {
        System.out.print(-1);
    return;
     
}
for (int i = n; i >= 1; i--)
        System.out.print(i + " ");
}
 
// Driver Code
     
    public static void main (String[] args) {
        int n = 3;
        printCase(n);
 
 
//This code is contributed by akt_mit
    }
}

Python 3




# Python 3 program to find a case
# where the given algorithm fails
 
# Function to print a case where
# the given sorting algorithm fails
def printCase(n):
 
    # only case where it fails
    if (n <= 2) :
        print("-1")
        return
 
    for i in range(n, 0, -1):
        print(i, end = " ")
 
# Driver Code
if __name__ == "__main__":
     
    n = 3
 
    printCase(n)
 
# This code is contributed
# by ChitraNayal

C#




// C# program to find a case where the
// given algorithm fails
using System;
 
class GFG
{
// Function to print a case where
// the given sorting algorithm fails
static void printCase(int n)
{
    // only case where it fails
    if (n <= 2)
    {
        Console.Write(-1);
        return;
    }
 
    for (int i = n; i >= 1; i--)
        Console.Write(i + " ");
}
 
// Driver Code
public static void Main()
{
    int n = 3;
 
    printCase(n);
}
}
 
// This code is contributed
// by Akanksha Rai

PHP




<?php
// PHP program to find a case where
// the given algorithm fails
 
// Function to print a case where
// the given sorting algorithm fails
function printCase($n)
{
    // only case where it fails
    if ($n <= 2)
    {
        echo (-1);
        return;
    }
 
    for ($i = $n; $i >= 1; $i--)
    {
        echo ($i);
        echo(" ");
    }
}
 
// Driver Code
$n = 3;
 
printCase($n);
 
// This code is contributed
// by Shivi_Aggarwal
?>

Javascript




<script>
    // Javascript program to find a case where the
    // given algorithm fails
     
    // Function to print a case where
    // the given sorting algorithm fails
    function printCase(n)
    {
        // only case where it fails
        if (n <= 2)
        {
            document.write(-1);
            return;
        }
 
        for (let i = n; i >= 1; i--)
            document.write(i + " ");
    }
     
    let n = 3;
   
    printCase(n);
         
</script>
Output: 
3 2 1

 

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

Attention reader! Don’t stop learning now. Get hold of all the important Comcompetitivepetitve Programming concepts with the Competitive Programming Live  course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :