Jak zaimplementować algorytm sortowania bąbelkowego w Javie – przykład kolejności rosnącej i malejącej

Opublikowany: 2019-01-19
Jak zaimplementować algorytm sortowania bąbelkowego w Javie — przykład w kolejności rosnącej i malejącej

Bubble sort , czasami błędnie określane jako sinking sort , to prosty algorytm sortowania, który działa poprzez wielokrotne przechodzenie przez listę do posortowania, porównywanie każdej pary sąsiednich elementów i zamianę ich, jeśli są w złej kolejności.

Przechodzenie przez listę jest powtarzane, dopóki nie są potrzebne żadne zamiany, co oznacza, że ​​lista jest posortowana. Algorytm bierze swoją nazwę od sposobu, w jaki mniejsze elementy bubble się na górze listy.

Ponieważ używa tylko porównań do operowania na elementach, jest to sortowanie porównawcze. Chociaż algorytm jest prosty, większość innych algorytmów sortowania jest bardziej wydajna w przypadku dużych list.

Logika jest prosta:

W sortowaniu bąbelkowym po prostu przechodzimy przez arraylist od pierwszej do (rozmiar – 1) pozycji i porównujemy element z następnym. Zamień element z następnym elementem tylko wtedy, gdy następny element jest większy.

Oto kod Java:

  • Utwórz plik CrunchifyBubbleSort.java .

Wynik konsoli Eclipse:

Po prostu uruchom powyżej program java Bubble Sort w konsoli Eclipse lub IntelliJ IDE i powinieneś zobaczyć wynik jak poniżej.

Czym jest złożoność czasowa algorytmu sortowania bąbelków?

  • Jeśli rozważysz Best case scenariusz, będzie to O(n)
  • Jeśli weźmiesz pod uwagę Worst case scenariusz, będzie to O(n 2 )

Daj mi znać, jeśli masz jakiś problem lub wyjątek działający w powyższym programie.