logo

Invertir una matriu en Java

Donada una matriu, la tasca és invertir la matriu donada a Java.

Exemples:



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

Per conèixer els conceptes bàsics d'Array, consulteu l'Estructura de dades de la matriu.

Enfocaments

Hi ha nombrosos enfocaments per revertir una matriu a Java. Aquests són:

  • Utilitzant la matriu Temp
  • Utilitzant l'intercanvi
  • Utilitzant el mètode Collections.reverse().
  • Utilitzant el mètode StringBuilder.append().

1. Utilitzant la matriu Temp

El primer mètode és el següent:



  • Introduïu la mida de la matriu i els elements de la matriu.
  • Considereu una funció inversa que pren els paràmetres: la matriu (per exemple arr) i la mida de la matriu (per exemple n).
  • Dins de la funció, s'inicializa una nova matriu (amb la mida de la matriu de la primera matriu, arr). La matriu arr[] s'itera des del primer element, i cada element de la matriu arr[] es col·loca a la nova matriu des del darrere, és a dir, la nova matriu s'itera des del seu darrer element.
  • D'aquesta manera, tots els elements de la matriu arr[] es col·loquen a l'inrevés a la nova matriu.
  • A més, podem iterar a través de la nova matriu des del principi i imprimir els elements de la matriu.

Java






imatge com a fons en css
// 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); } }>

conjunts en java
>

>

Sortida

Reversed array is: 50 40 30 20 10>

2. Ús de l'intercanvi

El segon mètode utilitza un codi similar per introduir i imprimir la matriu. Tanmateix, no creem una matriu nova com el mètode anterior. En canvi, invertim la matriu original. En aquest mètode, intercanviem els elements de la matriu. El primer element s'intercanvia amb l'últim element. El segon element s'intercanvia amb el penúltim element i així successivament.
Per exemple, considerem la matriu [1, 2, 3, …., n-2, n-1, n]. Canviem 1 amb n, 2 amb n-1, 3 amb n-2 i més.

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

operador java

>

>

Sortida

Reversed array is: 50 40 30 20 10>

3. Utilitzant el mètode Collections.reverse().

El tercer mètode és utilitzar la funció java.util.Collections.reverse(Llista de llista) mètode. Aquest mètode inverteix els elements de la llista especificada. Per tant, primer convertim la matriu en una llista utilitzant java.util.Arrays.asList(matriu) i després invertir la llista.

Java




np.histograma

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

>

>

Sortida

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

4. Utilitzant el mètode StringBuilder.append().

Com un quart mètode , Si esteu treballant amb una matriu String, podem utilitzar un StringBuilder i afegir cada element de matriu amb un bucle for que disminueixi de la longitud de la matriu, convertir StringBuilder en una cadena i dividir-lo de nou en una matriu.

Java




llista de matrius d'ordenació de 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>>0>; i--) {> >reversed.append(arr[i ->1>]).append(>' '>);> >};> > >String[] reversedArray = reversed.toString().split(>' '>);> > >System.out.println(Arrays.toString(reversedArray));> >}> }>

>

>

Sortida

[World, Hello]>