Glede na matriko je naloga obrniti dano matriko v Javi.
Primeri:
Input : 1, 2, 3, 4, 5 Output :5, 4, 3, 2, 1 Input : 10, 20, 30, 40 Output : 40, 30, 20, 10>
Če želite izvedeti več o osnovah matrike, glejte Struktura podatkov matrike.
Pristopi
V Javi obstajajo številni pristopi za obračanje matrike. To so:
- Uporaba polja Temp
- Uporaba zamenjave
- Uporaba metode Collections.reverse().
- Uporaba metode StringBuilder.append().
1. Uporaba niza Temp
The prva metoda kot sledi:
- Vnesite velikost matrike in elemente matrike.
- Razmislite o obratni funkciji, ki prevzame parametre - matriko (recimo arr) in velikost matrike (recimo n).
- Znotraj funkcije se inicializira nova matrika (z velikostjo matrike prve matrike, arr). Matrika arr[] se ponovi od prvega elementa in vsak element matrike arr[] se postavi v novo matriko od zadaj, tj. nova matrika se ponovi od zadnjega elementa.
- Na ta način so vsi elementi matrike arr[] postavljeni obratno v novi matriki.
- Nadalje lahko ponovimo novo matriko od začetka in natisnemo elemente matrike.
Java
primerljiv seznam
// 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); } }> |
primeri kode c#
>
>Izhod
Reversed array is: 50 40 30 20 10>
2. Uporaba zamenjave
The druga metoda uporablja podobno kodo za vnos in tiskanje matrike. Vendar pa ne ustvarimo nove matrike, kot je zgornja metoda. Namesto tega obrnemo prvotno matriko samo. Pri tej metodi zamenjamo elemente matrike. Prvi element se zamenja z zadnjim. Drugi element se zamenja s predzadnjim in tako naprej.
Na primer, razmislite o nizu [1, 2, 3, …., n-2, n-1, n]. 1 zamenjamo z n, 2 z n-1, 3 z n-2 in naprej.
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); } }> |
življenjski cikel razvoja programske opreme
>
>Izhod
Reversed array is: 50 40 30 20 10>
3. Uporaba metode Collections.reverse().
The tretja metoda je uporaba funkcije java.util.Collections.reverse(seznam seznama) metoda. Ta metoda obrne elemente na podanem seznamu. Zato matriko najprej pretvorimo v seznam z uporabo java.util.Arrays.asList(matrika) in nato obrnite seznam.
Java
javascript večvrstični niz
// 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);> >}> }> |
>
>Izhod
[50, 40, 30, 20, 10]>
4. Uporaba metode StringBuilder.append().
Kot četrta metoda , Če delate z nizom String, lahko uporabimo StringBuilder in dodamo vsak element niza z zanko for, ki zmanjša dolžino niza, pretvorimo StringBuilder v niz in ga razdelimo nazaj v niz.
Java
str.substring v Javi
// 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));> >}> }> |
>
>Izhod
[World, Hello]>