Dané pole je úkolem zvrátit dané pole v Javě.
Příklady:
Input : 1, 2, 3, 4, 5 Output :5, 4, 3, 2, 1 Input : 10, 20, 30, 40 Output : 40, 30, 20, 10>
Chcete-li se dozvědět o základech Array, podívejte se na Array Data Structure.
Přístupy
Existuje mnoho přístupů k obrácení pole v Javě. Tyto jsou:
- Použití pole Temp
- Pomocí Swappingu
- Použití metody Collections.reverse().
- Použití metody StringBuilder.append().
1. Použití pole Temp
The první metoda je následující:
- Vezměte vstup velikosti pole a prvků pole.
- Uvažujme reverzní funkci, která přebírá parametry – pole (řekněme arr) a velikost pole (řekněme n).
- Uvnitř funkce je inicializováno nové pole (s velikostí pole prvního pole, arr). Pole arr[] je iterováno od prvního prvku a každý prvek pole arr[] je umístěn do nového pole zezadu, tj. nové pole je iterováno od svého posledního prvku.
- Tímto způsobem jsou všechny prvky pole arr[] umístěny obráceně do nového pole.
- Dále můžeme iterovat nové pole od začátku a vytisknout prvky pole.
Jáva
q1 q2 q3 q4
// 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); } }> |
>
>Výstup
Reversed array is: 50 40 30 20 10>
2. Použití Swapping
The druhá metoda používá podobný kód pro zadávání a tisk pole. Nevytváříme však nové pole jako výše uvedená metoda. Místo toho obrátíme samotné původní pole. V této metodě prohodíme prvky pole. První prvek je zaměněn za poslední prvek. Druhý prvek je prohozen s předposledním prvkem a tak dále.
Uvažujme například pole [1, 2, 3, …., n-2, n-1, n]. Prohodíme 1 s n, 2 s n-1, 3 s n-2 a dále.
Jáva
// 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); } }> |
seznam metod java
>
>Výstup
Reversed array is: 50 40 30 20 10>
3. Použití metody Collections.reverse().
The třetí způsob je použít funkci java.util.Collections.reverse (seznam seznamu) metoda. Tato metoda obrátí prvky v zadaném seznamu. Pole tedy nejprve převedeme na seznam pomocí java.util.Arrays.asList(pole) a poté seznam obrátit.
Jáva
// 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);> >}> }> |
>
>
převod z řetězce na int v jazyce JavaVýstup
[50, 40, 30, 20, 10]>
4. Použití metody StringBuilder.append().
Jako čtvrtý způsob , Pokud pracujete s polem String, můžeme použít StringBuilder a ke každému prvku pole připojit smyčku for snižující se od délky pole, převést StringBuilder na řetězec a rozdělit zpět na pole.
Jáva
// 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));> >}> }> |
herec ekta kapoor
>
>Výstup
[World, Hello]>