StartAlgorytmyAlgorytmy sortowaniaSortowanie bąbelkowe (bubblesort)
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Sortowanie bąbelkowe (bubblesort)
Ocena użytkowników:++++- / 67
SłabyŚwietny 
Wpisany przez Michał Knasiecki
sobota, 13 sierpnia 2005 11:03
Jest to jeden z prostszych algorytmów sortowania.
Sprawdzamy całą tablicę od końca, jeżeli trafimy na parę elementów, w której większy poprzedza mniejszy to zamieniamy je miejscami i znów zaczynamy przeszukiwać tą tablicę od końca. Czynność powtarzamy tak długo aż podczas sprawdzania całej tablicy, nie zajdzie ani jedna zamiana elementów. Realizuje się to najczęściej za pomocą zmiennej logicznej.
Algorytm nosi nazwę bąbelkowego, gdyż najmniejsze liczby "wypływają" z dołu tablicy na jej szczyt.
Oto przykład zastosowania dla nieuporządkowanego ciągu liczb <<2, 4, 1, 3>>.
Image
Przy następnym przebiegu nie zajdzie ani jedna zmiana, to znak, że ciąg jest już posortowany.
Z powyższego zdania można wyciągnąć wniosek, że gdy ciąg wejściowy będzie posortowany, to algorytm wykona tylko jeden przebieg. Jest to duża zaleta tego sposobu sortowania, niektóre metody będą sortowały ciąg nawet jeśli będzie on posortowany.
Z kolei najgorszym zestawem danych dla tego algorytmu jest ciąg posortowany nierosnąco.



Autor Język programowania Komentarz Otwórz Pobierz Ocena
kris C#
Implementacja w C#
Implementacja w C#
++++- / 7
Michał Knasiecki C/C++
Implementacja w C/C++
Implementacja w C/C++
+++-- / 14
Marian C/C++ C++
Implementacja w C/C++
Implementacja w C/C++
++++- / 7
Krzysztof Sośnierz C/C++ C++ templates
Implementacja w C/C++
Implementacja w C/C++
+++-- / 7
mariano C/C++ C++
Implementacja w C/C++
Implementacja w C/C++
+++-- / 7
Tomasz Lubiński Delphi/Pascal Borland Delphi 5
Implementacja w Delphi/Pascal
Implementacja w Delphi/Pascal
++++- / 7
Tomasz Lubiński Java
Implementacja w Java
Implementacja w Java
++++- / 10
Jakub Konieczny Java Block
Implementacja w Java Block
Implementacja w Java Block
+++-- / 3
Dominik Goździuk Perl
Implementacja w Perl
Implementacja w Perl
----- / 0
_marass_ Php
Implementacja w Php
Implementacja w Php
++++- / 3
Jakub Konieczny Python
Implementacja w Python
Implementacja w Python
++++- / 2
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: piątek, 27 maja 2011 08:43

Komentarze

 
photo
+2 # NABI 2009-07-24 14:14
Super opracowana strona nareszcie to zrozumiałam NABI
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
+4 # NAZIR 2009-09-13 20:34
Potwierdzam opracowanie SUPER ! - jak by był nr. konta to chętnie bym wpłacił na dalsze prace w tym temacie
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
+1 # a bo to była AduSia..;* 2009-10-17 16:43
nie zła stronka...;]

skorzystam bo baardzo mi sie przyda..hehe...;]
wkońcu skumałam o co w tym chodzi...


poooOzdrówkA.!
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
+1 # Farołż 2009-11-05 15:18
Świetnie wytłumaczony. Oby więcej takich artykułów.
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
-1 # sedzia ania 2010-02-18 18:01
a co jeśli w tablicy występują 2 takie same elementy?
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
-1 # eliiiiiiiiii 2010-02-28 16:49
a jak to zrobić w eli?
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
+1 # Olek 2010-06-24 18:46
Jeżeli występują takie same elementy to w zależności od postawionego warunku ( tab > tab[i+1] , bądź tab >= tab[i+1] ) albo zamieni te liczby miejscami albo sprawdzi warunek i przejdzie dalej.
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
-1 # Radek 2010-07-01 17:54
Jest to algorytm stabilny więc zamiana elementów miejscami o tych samych kluczach nie występuje. (Chyba że ktoś pisze kod z własnymi warunkami i ma zamiar zmieniać kolejność elementów).
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
-1 # Tomaaaasssszek 2010-09-03 16:24
Dlaczego jak uruchamiam program w C++ to zaznacza błąd przy { ?
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
-3 # maYster 2011-12-12 11:12
To nie jest sortowanie bąbelkowe. W sortowaniu bąbelkowym każde przejście pętli prowadzi do "wypłynięcia" największego albo najmniejszego elementu odpowiednio na koniec lub początek ciągu.
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
0 # yo. 2012-03-27 11:28
fajne,git. przydalo sie na infie
Odpowiedz | Odpowiedz z cytatem | Cytować
 

Dodaj komentarz

Kod antysapmowy
Odśwież