Sortowanie bąbelkowe

Chcemy napisać metodę, która posortuje nam przekazany jako parametr wektor liczb całkowitych metodą sortowania bąbelkowego. Sortowanie bąbelkowe polega na porównywaniu dwóch kolejnych elementów oraz ich zamianie jeśli nie są ułożone w odpowiedniej kolejności.
/**
 * Sortowanie bąbelkowe
 * @author kodatnik.blogspot.com 
 */ 
public class SortowanieBabelkowe {

 // metoda sortuje elementy tablicy przekazanej jako parametr 
 public static void sortowanieBabelkowe(int[] wejscie) {
  // porównujemy pary elementów w tablicy
  for (int i = wejscie.length-1; i > 1; i--) {
   for (int j = 0; j < i; j++) {
    // jeśli nie są one odpowiednio uporządkowane 
    // zamieniamy je miejscami
    if (wejscie[j] > wejscie[j+1]) {
     // zamiana elementów
     int x = wejscie[j];
     wejscie[j] = wejscie[j+1];
     wejscie[j+1] = x;
    }
   }
  }  
 } 
 
 // metoda wyświetla zawartość tablicy przekazanej jako parametr na ekranie
 public static void pokazTablice(int[] wejscie) {
  // każdy element znajdujący się w tablicy wyświetlamy na ekranie
  for(int x : wejscie) System.out.print (x + " ");
  System.out.println ();
 }

 public static void main(String[] args) {
  // tworzymy tablicę wypełniając ją od razu danymi
  int[] tablica = {4, 6, 1, 2, 3, 8, 7, 9, 5};
  
  // wyświetlamy tablicę na ekranie
  pokazTablice(tablica);
  // sortujemy tablicę
  sortowanieBabelkowe(tablica);
  // wyświetlamy posortowaną tablicę na ekranie
  pokazTablice(tablica);  
 }
}
Algorytm można zoptymalizować sprawdzając na bieżąco czy dane nie zostały już uporządkowane.
Uruchomiona aplikacja:
4 6 1 2 3 8 7 9 5 
1 2 3 4 5 6 7 8 9 


1 Komentarz - Sortowanie bąbelkowe

Anonimowy pisze...

w linii 10 jest błąd przez który kod nie sortuje tablicy z dwoma elementami; i musi być > = 1.

Prześlij komentarz

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

Popularne posty