Рубрики

Сортировать массив, который содержит от 1 до n значений

Вы дали массив, который содержит от 1 до n элементов, ваша задача состоит в том, чтобы отсортировать этот массив эффективным способом и без замены на номера от 1 до n.

Примеры :

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

Родной подход:
Сортируйте этот массив с использованием любого метода сортировки. это занимает O (nlogn) минимальное время.

Эффективный подход:
Замените каждый элемент на его позицию. это займет O (n) эффективного времени и даст вам отсортированный массив. Давайте разберемся в этом подходе с кодом ниже.

C ++

// Эффективная программа на C ++ для сортировки массива
// числа в диапазоне от 1 до n.
#include <iostream>

  

using namespace std;

  
// функция для массива сортировки

void sortit(int arr[], int n)

{

    for (int i = 0; i < n; i++) {

      arr[i]=i+1;

    }

}

  
// Код драйвера

int main()

{

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

    int n = sizeof(arr) / sizeof(arr[0]);

  

    // для сортировки массива

    sortit(arr, n);

  

    // для печати всего элемента в отсортированном виде

    for (int i = 0; i < n; i++) 

        cout << arr[i] << " ";    

}

Джава

// Эффективная Java-программа для сортировки
// массив чисел в диапазоне от 1
// к п.

import java.io.*;

import java.util.*;

  

public class GFG {

      

          

    // функция для массива сортировки

    static void sortit(int []arr, int n)

    {

        for (int i = 0; i < n; i++) 

        {

            arr[i]=i+1;

      

              

        }

    }

      

    // Код драйвера

    public static void main(String args[])

    {

        int []arr = {10, 7, 9, 2, 8

                            3, 5, 4, 6, 1};

        int n = arr.length;

      

        // для сортировки массива

        sortit(arr, n);

      

        // для печати всех

        // элемент отсортирован

        for (int i = 0; i < n; i++) 

            System.out.print(arr[i] + " "); 

    }

}

  
// Этот код предоставлен Манишем Шоу
// (manishshaw1)

python3

# Python3 программа для сортировки массива
# числа в диапазоне от 1 до n.

  
# функция для массива сортировки

def sortit(arr,n):

    for i in range(n):

        arr[i] = i+1

  
# Код драйвера

if __name__=='__main__':

    arr = [10, 7, 9, 2, 8, 3, 5, 4, 6, 1 ]

    n = len(arr)

  

    # для сортировки массива

    sortit(arr,n)

  

    # для печати всего элемента

    # в сортированном виде

    for i in range(n):

        print(arr[i],end=" ")

   
# Этот код предоставлен
# Shrikant13

C #

// Эффективная программа на C # для сортировки массива
// числа в диапазоне от 1 до n.

using System;

using System.Collections.Generic;

  

class GFG {

      

          

    // функция для массива сортировки

    static void sortit(int []arr, int n)

    {

        for (int i = 0; i < n; i++) 

        {

      

            arr[i]=i+1;

        }

    }

      

    // Код драйвера

    public static void Main()

    {

        int []arr = {10, 7, 9, 2, 8, 

                      3, 5, 4, 6, 1};

        int n = arr.Length;

      

        // для сортировки массива

        sortit(arr, n);

      

        // для печати всех

        // элемент отсортирован

        for (int i = 0; i < n; i++) 

            Console.Write(arr[i] + " "); 

    }

}

  
// Этот код предоставлен
// Маниш Шоу (manishshaw1)

PHP

<?php
// Эффективная программа PHP для сортировки
// массив чисел в диапазоне от 1 до n.

  

  
// функция для массива сортировки

function sortit(&$arr, $n)

{

    for ($i = 0; $i < $n; $i++) 

    {

  

        $arr[$i]=$i+1;  

    }

}

  
// Код драйвера

$arr = array(10, 7, 9, 2, 8, 

             3, 5, 4, 6, 1);

$n = count($arr);

  
// для сортировки массива

sortit($arr, $n);

  
// для печати всех
// элемент отсортирован

for ($i = 0; $i < $n; $i++) 

    echo $arr[$i]." ";

  
// Этот код предоставлен Манишем Шоу
// (manishshaw1)
?>

Выход :

1 2 3 4 5 6 7 8 9 10

Рекомендуемые посты:

Сортировать массив, который содержит от 1 до n значений

0.00 (0%) 0 votes