Odwracanie elementów w tablicy

Odwrócenie elementów w tablicy to zamiana ich miejscami. Ostatni element staje się pierwszym, pierwszy ostatnim, przedostatni drugim, drugi przedostatnim itd. Chcemy napisać metodę, która odwróci nam wszystkie elementy w przekazanej jako parametr tablicy liczb całkowitych.
01./**
02. * Odwracanie elementów w tablicy
03. * @author kodatnik.blogspot.com
04. */
05.public class OdwracanieElementow {
06.  
07. // metoda odwraca elementy w przekazanej jako parametr tablicy
08. public static void odwroc(int[] wejscie) {
09.   
10.  // indeks pierwszego elementu
11.  int poczatek  = 0;         
12.  // indeks ostatniego elementu
13.  int koniec = wejscie.length-1;
14.   
15.  // dopóki indeks początkowy jest mniejszy od indeksu końcowego
16.  while (poczatek < koniec) {
17.   // zamieniamy elementy
18.   int pomoc = wejscie[poczatek];
19.   wejscie[poczatek]  = wejscie[koniec];
20.   wejscie[koniec] = pomoc;
21.      
22.   // przesuwamy się w kierunku środka wektora zwiększając i zmniejszając odpowiednio indeksy
23.   poczatek++;
24.   koniec--;
25.  }
26. }
27.  
28. // metoda wyświetla zawartość tablicy przekazanej jako parametr na ekranie
29. public static void pokazTablice(int[] wejscie) {
30.  // każdy element znajdujący się w tablicy wyświetlamy na ekranie
31.  for(int x : wejscie) System.out.print (x + " ");
32.  System.out.println ();
33. }
34. 
35. public static void main(String[] args) {
36.  // tworzymy tablicę wypełniając ją od razu danymi
37.  int[] tablica = {4, 6, 1, 2, 3, 8, 7, 9, 5};
38.   
39.  // wyświetlamy tablicę na ekranie
40.  pokazTablice(tablica); 
41.   
42.  // odwracamy tablicę
43.  odwroc(tablica);
44. 
45.  // wyświetlamy odwróconą tablicę na ekranie
46.  pokazTablice(tablica); 
47. }
48.}
Uruchomiona aplikacja:
4 6 1 2 3 8 7 9 5 
5 9 7 8 3 2 1 6 4 
Powyższą metodę można przeciążyć, tworząc metodę odwracającą tylko fragment tablicy (elementy od indeksu początkowego do indeksu końcowego przekazanego jako parametr). Poniżej przeciążona wersja metody.
01.// metoda odwraca fragment tablicy (od indeksu poczatek do indeksu koniec
02. // w przekazanej jako parametr tablicy)
03. public static void odwroc(int[] wejscie, int poczatek, int koniec) {
04.   
05.  // dopóki indeks początkowy jest mniejszy od indeksu końcowego
06.  while (poczatek < koniec) {
07.   // zamieniamy elementy
08.   int pomoc = wejscie[poczatek];
09.   wejscie[poczatek]  = wejscie[koniec];
10.   wejscie[koniec] = pomoc;
11.      
12.   // przesuwamy się w kierunku środka wektora zwiększając i zmniejszając odpowiednio indeksy
13.   poczatek++;
14.   koniec--;
15.  }
16. }
Wywołanie odwroc(tablica, 3, 6) spowoduje odwrócenie elementów od indeksu trzeciego do szóstego.
4 6 1 2 3 8 7 9 5 
4 6 1 7 8 3 2 9 5 
Przeciążanie metod to tworzenie metod o takich samych nazwach ale o innej liście parametrów (pod uwagę brana jest ilość parametrów oraz ich typ).


3 Komentarze - Odwracanie elementów w tablicy

Anonimowy pisze...

Super :) Można też użyć metody swap(), ale jest ok.

Anonimowy pisze...

Jak zmienić kod żeby użyć stringów ? Zamiast int , string ?

obiady domowe na dowóz Jaworzno pisze...

blog dla fachowców

Prześlij komentarz

Możesz użyć niektórych tagów HTML, takich jak <b>, <i>, <u>, <a> Nie spamuj :)

Popularne posty