Languages
[Edit]
PL

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

13 points
Created by:
Kate_C
19790

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]

 

Java dla pocz─ůtkuj─ůcych

Native Advertising
50 000 ad impressions - 449$
­čÜÇ
Get your tech brand or product in front of software developers.
For more information contact us:
Red dot
Dirask - friendly IT community for everyone.

ÔŁĄ´ŞĆ­čĺ╗ ­čÖé

Join