Languages
[Edit]
PL

Java - sortowanie bąbelkowe dla początkujących

13 points
Created by:
Abel-Burks
698

W tym wiki artykule możemy zobaczyć jak prosto posortować tablice w javie przy użyciu algorytmu bąbelkowego (Bubble sort).

Bubble sort jest jednym z podstawowych algorytmów pojawijących się w kursach programowania już na początku - zawdzięcza on to swojej prostocie.

Poniższe przykłady zawierają metodę sortownieBabelkowe, która jest prostą implementacją takiego algorytmu sortowania.

Przykład 1

W tym przykładzie dodamy 2 zmienne liczbaA i liczbaB, aby można łatwiej zrozumieć co się w kodzie dzieje.

import java.util.Arrays;

public class JavaSortowaniePrzyklad1 {

    public static void main(String[] args) {

        int[] tablica = {3, 7, 8, 2};

        System.out.println("Przed posortowaniem  " + Arrays.toString(tablica));

        sortownieBabelkowe(tablica);

        System.out.println("Tablica posortowana " + Arrays.toString(tablica));
    }

    static void sortownieBabelkowe(int[] tablica) {

        for (int i = 0; i < tablica.length; i++) {

            for (int j = i + 1; j < tablica.length; j++) {

                int liczbaA = tablica[i];
                int liczbaB = tablica[j];

                if (liczbaA > liczbaB) {
                    tablica[i] = liczbaB;
                    tablica[j] = liczbaA;
                }
            }
        }
    }
}

Wynik z konsoli:

Przed posortowaniem  [3, 7, 8, 2]
Tablica posortowana [2, 3, 7, 8]

Przykład 2

W tym przykładzie dodamy sobie kod, który pokaże nam krok po kroku co się dzieje podczas sortowania tablicy. Wyniki można zobaczyć w konosli.

import java.util.Arrays;

public class JavaSortowaniePrzyklad2 {

    public static void main(String[] args) {

        int[] tablica = {3, 7, 8, 2};

        System.out.println("Przed posortowaniem  " + Arrays.toString(tablica));

        sortowanieBabelkowe(tablica);

        System.out.println("Tablica posortowana " + Arrays.toString(tablica));
    }

    static void sortowanieBabelkowe(int[] tablica) {
        System.out.println("-----");

        for (int i = 0; i < tablica.length; i++) {
            System.out.println("### Iteracja: " + (i + 1));

            for (int j = i + 1; j < tablica.length; j++) {

                int liczbaA = tablica[i];
                int liczbaB = tablica[j];

                if (liczbaA > liczbaB) {
                    System.out.println(liczbaB + " > " + liczbaA + " - TAK (ZAMIANA)");

                    // zmiana miejscami liczb w tablicy
                    tablica[i] = liczbaB;
                    tablica[j] = liczbaA;

                } else if (liczbaA < liczbaB) {
                    System.out.println(liczbaB + " < " + liczbaA + " - NIE ma zmiany");

                } else if (liczbaB == liczbaA) {
                    System.out.println(liczbaB + " == " + liczbaA + " - RÓWNE");

                } else {
                    System.out.println("NIEMOŻLIWE :D");
                }
            }

            System.out.println((i + 1) + " liczby posortowane: " + Arrays.toString(tablica));
            System.out.println();
        }

        System.out.println("-----");
    }
}

Wynik z konsoli:

### Iteracja: 1
7 < 3 - NIE ma zmiany
8 < 3 - NIE ma zmiany
2 > 3 - TAK (ZAMIANA)
1 liczby posortowane: [2, 7, 8, 3]

### Iteracja: 2
8 < 7 - NIE ma zmiany
3 > 7 - TAK (ZAMIANA)
2 liczby posortowane: [2, 3, 8, 7]

### Iteracja: 3
7 > 8 - TAK (ZAMIANA)
3 liczby posortowane: [2, 3, 7, 8]

### Iteracja: 4
4 liczby posortowane: [2, 3, 7, 8]

Od min. do max. [2, 3, 7, 8]

 

Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

Java dla początkujących

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join