logo

Apgriezt masīvu Java

Dots masīvs, uzdevums ir apgriezt doto masīvu Java.

Piemēri:



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

Lai uzzinātu par masīva pamatiem, skatiet sadaļu Masīva datu struktūra.

Pieejas

Ir vairākas pieejas, kā apgriezt masīvu Java. Šie ir:

  • Temp masīva izmantošana
  • Izmantojot apmaiņu
  • Izmantojot Collections.reverse() metodi
  • Izmantojot StringBuilder.append() metodi

1. Izmantojot Temp masīvu

The pirmā metode ir šāds:



java virkne satur
  • Ievadiet masīva lielumu un masīva elementus.
  • Apsveriet funkciju reversu, kas ņem parametrus - masīvu (teiksim, arr) un masīva lielumu (teiksim, n).
  • Funkcijas iekšpusē tiek inicializēts jauns masīvs (ar pirmā masīva lielumu arr). Masīvs arr[] tiek iterēts no pirmā elementa, un katrs masīva arr[] elements tiek ievietots jaunajā masīvā no aizmugures, t.i., jaunais masīvs tiek iterēts no tā pēdējā elementa.
  • Tādā veidā visi masīva arr[] elementi jaunajā masīvā tiek novietoti apgriezti.
  • Turklāt mēs varam atkārtot jauno masīvu no sākuma un izdrukāt masīva 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); } }>

>

>

Izvade

Reversed array is: 50 40 30 20 10>

2. Izmantojot Swap

The otrā metode izmanto līdzīgu kodu masīva ievadīšanai un drukāšanai. Tomēr mēs neveidojam jaunu masīvu, piemēram, iepriekš aprakstīto metodi. Tā vietā mēs apgriežam pašu sākotnējo masīvu. Izmantojot šo metodi, mēs apmainām masīva elementus. Pirmais elements tiek aizstāts ar pēdējo elementu. Otrais elements tiek aizstāts ar pēdējo, izņemot vienu, un tā tālāk.
Piemēram, apsveriet masīvu [1, 2, 3, …., n-2, n-1, n]. Mēs samainām 1 ar n, 2 ar n-1, 3 ar n-2 un tālāk.

javafx apmācība

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); } }>

java vietējais datums

>

>

Izvade

Reversed array is: 50 40 30 20 10>

3. Izmantojot Collections.reverse() metodi

The trešā metode ir izmantot funkciju java.util.Collections.reverse(Saraksta saraksts) metodi. Šī metode apvērš elementus norādītajā sarakstā. Tādējādi mēs vispirms pārvēršam masīvu sarakstā, izmantojot java.util.Arrays.asList(masīvs) un pēc tam apgrieziet sarakstu.

Java




java saraksta kārtošana

// 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);> >}> }>

>

>

Izvade

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

4. Izmantojot StringBuilder.append() metodi

ceturtā metode , Ja strādājat ar virknes masīvu, mēs varam izmantot StringBuilder un pievienot katram masīva elementam for cilpu, kas samazinās no masīva garuma, pārveidot StringBuilder par virkni un sadalīt atpakaļ masīvā.

Java




str.substring 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));> >}> }>

>

>

Izvade

[World, Hello]>