logo

Apverskite masyvą Java

Pateiktas masyvas, užduotis yra pakeisti pateiktą masyvą Java.

Pavyzdžiai:



Input : 1, 2, 3, 4, 5 Output :5, 4, 3, 2, 1 Input : 10, 20, 30, 40 Output : 40, 30, 20, 10>

Norėdami sužinoti apie masyvo pagrindus, žr. Masyvo duomenų struktūra.

powershell vs bash

Prieigos

Yra daug būdų, kaip pakeisti masyvą „Java“. Šitie yra:

  • Naudojant Temp masyvą
  • Naudojant keitimą
  • Naudojant Collections.reverse() metodą
  • Naudojant StringBuilder.append() metodą

1. Temp masyvo naudojimas

The pirmasis metodas yra taip:



  • Įveskite masyvo dydį ir masyvo elementus.
  • Apsvarstykite atvirkštinę funkciją, kuri paima parametrus - masyvą (tarkim arr) ir masyvo dydį (tarkim n).
  • Funkcijos viduje inicijuojamas naujas masyvas (su pirmojo masyvo masyvo dydžiu arr). Masyvas arr[] kartojamas nuo pirmojo elemento, o kiekvienas masyvo arr[] elementas dedamas į naują masyvą iš galo, t. y. naujas masyvas kartojamas nuo paskutinio elemento.
  • Tokiu būdu visi masyvo arr [] elementai naujame masyve dedami atvirkščiai.
  • Be to, galime kartoti naują masyvą nuo pat pradžių ir spausdinti masyvo elementus.

Java






// Basic Java program that reverses an array> > public> class> reverseArray {> > >// function that reverses array and stores it> >// in another array> >static> void> reverse(>int> a[],>int> n)> >{> >int>[] b =>new> int>[n];> >int> j = n;> >for> (>int> i =>0>; i b[j - 1] = a[i]; j = j - 1; } // printing the reversed array System.out.println('Reversed array is: '); for (int k = 0; k System.out.println(b[k]); } } public static void main(String[] args) { int [] arr = {10, 20, 30, 40, 50}; reverse(arr, arr.length); } }>

>

>

Išvestis

nuo 1 iki 100 romėnų Nr
Reversed array is: 50 40 30 20 10>

2. Keitimo naudojimas

The antrasis metodas naudoja panašų kodą masyvo įvedimui ir spausdinimui. Tačiau mes nekuriame naujo masyvo, kaip nurodyta aukščiau. Vietoj to apverčiame patį pradinį masyvą. Šiuo metodu sukeičiame masyvo elementus. Pirmasis elementas pakeičiamas paskutiniu elementu. Antrasis elementas pakeičiamas paskutiniu elementu ir pan.
Pavyzdžiui, apsvarstykite masyvą [1, 2, 3, …., n-2, n-1, n]. Sukeičiame 1 su n, 2 su n-1, 3 su n-2 ir toliau.

Java




// Java Program that reverses array> // in less number of swaps> > public> class> arrayReverse {> > >// function swaps the array's first element with last> >// element, second element with last second element and> >// so on> >static> void> reverse(>int> a[],>int> n)> >{> >int> i, k, t;> >for> (i =>0>; i 2; i++) { t = a[i]; a[i] = a[n - i - 1]; a[n - i - 1] = t; } // printing the reversed array System.out.println('Reversed array is: '); for (k = 0; k System.out.println(a[k]); } } public static void main(String[] args) { int[] arr = { 10, 20, 30, 40, 50 }; reverse(arr, arr.length); } }>

>

>

Išvestis

Reversed array is: 50 40 30 20 10>

3. Naudojant Collections.reverse() metodą

The trečiasis metodas yra naudoti funkciją java.util.Collections.reverse (Sąrašo sąrašas) metodas. Šis metodas apverčia elementus nurodytame sąraše. Taigi masyvą pirmiausia konvertuojame į sąrašą naudodami java.util.Arrays.asList(masyvas) ir tada apverskite sąrašą.

Java




// Reversing an array using Java collections> import> java.util.*;> > public> class> reversingArray {> > >// function reverses the elements of the array> >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);> >}> }>

>

instanceof java
>

Išvestis

[50, 40, 30, 20, 10]>

4. StringBuilder.append() metodo naudojimas

Kaip ketvirtasis metodas , Jei dirbate su eilučių masyvu, galime naudoti StringBuilder ir pridėti kiekvieną masyvo elementą su for kilpa, mažėjančia nuo masyvo ilgio, konvertuoti StringBuilder į eilutę ir padalyti atgal į masyvą.

Java




// Java Program for Reversing an array using StringBuilder> > import> java.util.Arrays;> > class> GFG {> >public> static> void> main (String[] args) {> >String[] arr = {>'Hello'>,>'World'>};> >StringBuilder reversed =>new> StringBuilder();> > >for> (>int> i = arr.length; i>>>; i--) {> >reversed.append(arr[i ->1>]).append(>' '>);> >};> > >String[] reversedArray = reversed.toString().split(>' '>);> > >System.out.println(Arrays.toString(reversedArray));> >}> }>

burbulų rūšiavimas algoritme
>

>

Išvestis

[World, Hello]>