Skip to content
Related Articles

Related Articles

Sort an array which contain 1 to n values
  • Difficulty Level : Easy
  • Last Updated : 01 Mar, 2021

You have given an array which contain 1 to n element, your task is to sort this array in an efficient way and without replace with 1 to n numbers.
Examples : 
 

Input : arr[] = {10, 7, 9, 2, 8, 
                 3, 5, 4, 6, 1};
Output : 1 2 3 4 5 6 7 8 9 10

 

Native approach : 
Sort this array with the use of any type of sorting method. it takes O(nlogn) minimum time.
Efficient approach : 
Replace every element with it’s position. it takes O(n) efficient time and give you the sorted array. Let’s understand this approach with the code below. 
 

C++




// Efficient C++ program to sort an array of
// numbers in range from 1 to n.
#include <bits/stdc++.h>
 
using namespace std;
 
// function for sort array
void sortit(int arr[], int n)
{
    for (int i = 0; i < n; i++) {
      arr[i]=i+1;
    }
}
 
// Driver code
int main()
{
    int arr[] = { 10, 7, 9, 2, 8, 3, 5, 4, 6, 1 };
    int n = sizeof(arr) / sizeof(arr[0]);
 
    // for sort an array
    sortit(arr, n);
 
    // for print all the element in sorted way
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";   
}


Java




// Efficient Java program to sort an
// array of numbers in range from 1
// to n.
import java.io.*;
import java.util.*;
 
public class GFG {
     
         
    // function for sort array
    static void sortit(int []arr, int n)
    {
        for (int i = 0; i < n; i++)
        {
            arr[i]=i+1;
     
             
        }
    }
     
    // Driver code
    public static void main(String args[])
    {
        int []arr = {10, 7, 9, 2, 8,
                            3, 5, 4, 6, 1};
        int n = arr.length;
     
        // for sort an array
        sortit(arr, n);
     
        // for print all the
        // element in sorted way
        for (int i = 0; i < n; i++)
            System.out.print(arr[i] + " ");
    }
}
 
// This code is contributed by Manish Shaw
// (manishshaw1)


Python3




# Python3 program to sort an array of
# numbers in range from 1 to n.
 
# function for sort array
def sortit(arr,n):
    for i in range(n):
        arr[i] = i+1
 
# Driver code
if __name__=='__main__':
    arr = [10, 7, 9, 2, 8, 3, 5, 4, 6, 1 ]
    n = len(arr)
 
    # for sort an array
    sortit(arr,n)
 
    # for print all the element
    # in sorted way
    for i in range(n):
        print(arr[i],end=" ")
  
# This code is contributed by
# Shrikant13


C#




// Efficient C# program to sort an array of
// numbers in range from 1 to n.
using System;
using System.Collections.Generic;
 
class GFG {
     
         
    // function for sort array
    static void sortit(int []arr, int n)
    {
        for (int i = 0; i < n; i++)
        {
     
            arr[i]=i+1;
        }
    }
     
    // Driver code
    public static void Main()
    {
        int []arr = {10, 7, 9, 2, 8,
                      3, 5, 4, 6, 1};
        int n = arr.Length;
     
        // for sort an array
        sortit(arr, n);
     
        // for print all the
        // element in sorted way
        for (int i = 0; i < n; i++)
            Console.Write(arr[i] + " ");
    }
}
 
// This code is contributed by
// Manish Shaw (manishshaw1)


PHP




<?php
// Efficient PHP program to sort an
// array of numbers in range from 1 to n.
 
 
// function for sort array
function sortit(&$arr, $n)
{
    for ($i = 0; $i < $n; $i++)
    {
 
        $arr[$i]=$i+1; 
    }
}
 
// Driver code
$arr = array(10, 7, 9, 2, 8,
             3, 5, 4, 6, 1);
$n = count($arr);
 
// for sort an array
sortit($arr, $n);
 
// for print all the
// element in sorted way
for ($i = 0; $i < $n; $i++)
    echo $arr[$i]." ";
 
//This code is contributed by Manish Shaw
//(manishshaw1)
?>


Javascript




<script>
 
// Efficient JavaScript program to sort an array of
// numbers in range from 1 to n.
 
// function for sort array
function sortit(arr, n)
{
    for (let i = 0; i < n; i++) {
    arr[i]=i+1;
    }
}
 
// Driver code
 
    let arr = [ 10, 7, 9, 2, 8, 3, 5, 4, 6, 1 ];
    let n = arr.length;
 
    // for sort an array
    sortit(arr, n);
 
    // for print all the element in sorted way
    for (let i = 0; i < n; i++)
        document.write(arr[i] + " ");    
 
 
// This code is contributed by Surbhi Tyagi.
 
</script>


Output : 

1 2 3 4 5 6 7 8 9 10

 

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 :