Obraz-algorytm

Sortowanie bąbelkowe


Strona główna

Ważne definicje: Algorytmy sortowania:

Porównanie algorytmów

Instrukcja użytkownika

Informacja o programie

Do góry Do tyłu

obraz-opis

Opis algorytmu

Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich kolejności. Czyli w pierwszym przebiegu porównujemy (i ewentualnie zamieniamy):

  • Element pierwszy i drugi
  • Element drugi i trzeci
  • ...
  • Element (n-1)-wszy i n-ty
Każdy element jest tak długo przesuwany w ciągu, aż napotkany zostanie element większy od niego, wtedy w następnych krokach przesuwany jest ten większy element.

Po pierwszym przebiegu ciąg nie musi być jeszcze uporządkowany, ale na pozycji n znajdzie się maksymalny element ciągu. Zatem w drugim przebiegu można porządkować ciąg krótszy, czyli tylko elementy na pozycjach od 1 do n-1. Po drugim przebiegu, dwa ostatnie elementy są na swoich miejscach, czyli pozostaje posortować ciąg o dwa elementy krótszy, itd.

Można jeszcze bardziej usprawnić ten algorytm. Jeżeli w pewnym przebiegu algorytmu ostatnia zamiana nastąpiła na pozycji i, to w następnym przebiegu wystarczy porządkować tylko elementy na pozycjach od 1 do i-1. W takiej wersji ten algrytm jest zrealizowany w demonstracji.

Jeżeli dane wejściowe są uporządkowane, to algorytm wykonuje tylko jeden przebieg (nie jest wykonywana żadna zamiana).
obraz-działanie

Demonstracja

Poniższy applet demonstruje działanie opisanego algorytmu sortowania. Dane do sortowania mogą być losowe, uporządkowane lub odwrotnie uporządkowane.

  • Zieloną i niebieską kropką są zaznaczone aktualnie porównywane elementy.
  • Żółtą linią jest oznaczona uporządkowana część ciągu.
  • Aby uruchomić demonstrację, naciśnij Start.
  • Aby zatrzymać demonstrację, naciśnij Stop.
  • Aby wykonać jeden krok algorytmu, naciśnij Krok.
  • Aby przyspieszyć działanie, naciśnij >.
  • Aby spowolnić działanie, naciśnij <.
  • Aby zmienić typ danych, użyj pola wyboru Typ danych.
  • Aby zmienić wielkość danych, użyj pola edycyjnego Wielkość danych i naciśnij przycisk Zmień dane. Wielkość danych musi być liczbą z zakresu od 5 do 300.

Sortowanie bąbelkowe

Typ danych:   Wielkość danych:  

Strona główna Sortowanie bąbelkowe Sortowanie przez wstawianie Sortowanie przez binarne wstawianie Sortowanie przez wybór Sortowanie przez scalanie Sortowanie przez scalanie - rozszerzone Sortowanie szybkie Sortowanie stogowe Sortowanie stogowe rozszerzone Porównanie algorytmów