Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

перевернуть массив

#java #массивы


Почему не выводится перевернутый массив? то есть, последний элемент массива должен
стать первым и т.д.

public class Mane
{


    public void sort(int[] massive){
        int[]arraySort = new int[10];
        for(int i = 4; i >= 0; i--){
            arraySort[4 - i] = massive[i];
            for(int a = 0; a < 5; a++){
                massive[a] = arraySort[a];
            }

        }
    }
    public static void main(String[] arg){
        int[] mass = {1,2,3,4,5};
        Mane m = new Mane();
        m.sort(mass);
        for(int i: mass){
            System.out.println(i);
        }

    }
}

    


Ответы

Ответ 1



Зачем два массива, зачем вложенные циклы? public void sort(int[] massive) { for (int i = 0; i < massive.length / 2; i++) { int tmp = massive[i]; massive[i] = massive[massive.length - i - 1]; massive[massive.length - i - 1] = tmp; } }

Ответ 2



Collections.reverse(Arrays.asList(source)).toArray(new int[source.length]); да, это будет использовать избыточные ресурсы; нет, это не страшно https://stackoverflow.com/a/22828623/2908793

Ответ 3



Всем спасибо за помощь, я разобрался public class Mane { public void sort(int[] massive){ int[]arraySort = new int[5]; for(int i = 4; i >= 0; i--){ arraySort[4 - i] = massive[i]; } for(int a = 0; a < 5; a++){ massive[a] = arraySort[a]; } } public static void main(String[] arg){ int[] mass = {1,2,3,4,5}; Mane m = new Mane(); m.sort(mass); for(int i: mass){ System.out.println(i); } } }

Ответ 4



for(int i = 0; i < array.length; i++) array[i] =(-1)*array[i]; Arrays.sort(array); for(int i = 0; i < array.length; i++) array[i] =(-1)*array[i];

Комментариев нет:

Отправить комментарий