Рубрики

Обратный массив в Java

Обратить массив в Java можно тремя простыми способами.

Примеры:

Input : 1, 2, 3, 4, 5
Output :5, 4, 3, 2, 1

Input :  10, 20, 30, 40
Output : 40, 30, 20, 10

Первый способ заключается в следующем:
(i) Взять на вход размер массива и элементы массива.
(ii) Рассмотрим обратную функцию, которая принимает параметры — массив (скажем, arr) и размер массива (скажем, n).
(iii) Внутри функции инициализируется новый массив (с размером массива первого массива, arr). Массив arr [] повторяется от первого элемента, и каждый элемент массива arr [] помещается в новый массив сзади, т. Е. Новый массив повторяется от своего последнего элемента.
(iv) Таким образом, все элементы массива arr [] помещаются обратно в новый массив.
(v) Далее, мы можем перебрать новый массив с самого начала и распечатать элементы массива.

/ * Базовая Java-программа, которая переворачивает массив * /

  

public class reverseArray {

  

    / * функция, которая переворачивает массив и сохраняет его

       в другом массиве * /

    static void reverse(int a[], int n)

    {

        int[] b = new int[n];

        int j = n;

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

            b[j - 1] = a[i];

            j = j - 1;

        }

  

        / * печать обращенного массива * /

        System.out.println("Reversed array is: \n");

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

            System.out.println(b[k]);

        }

    }

  

    public static void main(String[] args)

    {

        int [] arr = {10, 20, 30, 40, 50};

        reverse(arr, arr.length);

    }

}

Выход:

Reversed array is: 

50
40
30
20
10

Второй метод использует аналогичный код для ввода и печати массива. Тем не менее, мы не создаем новый массив, как описанный выше метод. Вместо этого мы обращаемся к самому исходному массиву. В этом методе мы меняем элементы массива. Первый элемент заменяется на последний элемент. Идентификатор второго элемента поменялся местами с последним, кроме одного элемента, и так далее.
Например, рассмотрим массив [1, 2, 3,…., N-2, n-1, n]. Мы меняем 1 с n, 2 с n-1, 3 с n-2 и далее.

/ * Программа, которая переворачивает массив за меньшее количество перестановок * /

  

public class arrayReverse {

  

    / * функция меняет первый элемент массива на последний элемент,

      второй элемент с последним вторым элементом и т. д. * /

    static void reverse(int a[], int n)

    {

        int i, k, t;

        for (i = 0; i < n / 2; i++) {

            t = a[i];

            a[i] = a[n - i - 1];

            a[n - i - 1] = t;

        }

  

        / * печать обращенного массива * /

        System.out.println("Reversed array is: \n");

        for (k = 0; k < n; k++) {

            System.out.println(a[k]);

        }

    }

  

    public static void main(String[] args)

    {

        int [] arr = {10, 20, 30, 40, 50};

        reverse(arr, arr.length);

    }

}

Выход:

Reversed array is: 

50
40
30
20
10

Третий метод — использовать метод функции java.util.Collections.reverse (List list). Этот метод переворачивает элементы в указанном списке. Следовательно, мы сначала преобразуем массив в список с помощью java.util.Arrays.asList (array), а затем реверсируем список.

// Обращение массива с использованием коллекций Java.

import java.util.*;

  

public class reversingArray {

  

    / * функция инвертирует элементы массива * /

    static void reverse(Integer a[])

    {

        Collections.reverse(Arrays.asList(a));

        System.out.println(Arrays.asList(a));

    }

  

    public static void main(String[] args)

    {

        Integer [] arr = {10, 20, 30, 40, 50};

        reverse(arr);

    }

}

Выход:

[50, 40, 30, 20, 10]

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

Обратный массив в Java

0.00 (0%) 0 votes