Languages
[Edit]
PL

Java - sortowanie b─ůbelkowe dla pocz─ůtkuj─ůcych

13 points
Created by:
Abel-Burks
548

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